Wordpress / Rewrites - возможно ли переписать конкретный экземпляр URL в пользовательский тип записи? - PullRequest
0 голосов
/ 22 октября 2018

На веб-сайте моего клиента я использую что-то вроде "хака" для добавления под-URL в структуру постоянных ссылок пользовательского типа, добавляя массив к фильтрам "rewrite_rules_array" и "query_vars".

Это добавляет поддельные под-URL, такие как / location / chicago / book-назначению, в структуру перезаписи, что позволяет мне добавлять подстраницы.Это относится к каждому пользовательскому типу поста «местоположение», независимо от того, существует или нет «назначение книги».

То, что я пытаюсь выяснить, и не уверен, если это возможно, - это если я могу добавить переписанные на основена конкретный пост.Я не думаю, что это возможно, потому что перезаписи запускаются раньше, верно?

Вот код:

 // Core location pages
$location_pages = array(
    'book-appointment'      => 'Book Appointment'
);

// Merge with services array
$my_fake_pages = array_merge($services,$location_pages);


add_filter('rewrite_rules_array', 'fsp_insertrules');
add_filter('query_vars', 'fsp_insertqv');

// Adding fake pages' rewrite rules
function fsp_insertrules($rules)
{
    global $my_fake_pages;

    $newrules = array();
    foreach ($my_fake_pages as $slug => $title) {
        $newrules['location/([^/]+)/' . $slug . '/?$'] = 'index.php?location=$matches[1]&fpage=' . $slug;
    }

   return $newrules + $rules;
}

// Tell WordPress to accept our custom query variable
function fsp_insertqv($vars)
{
    array_push($vars, 'fpage');
    return $vars;
}
...