Я не совсем уверен, какие функции удалить, и где разместить этот новый. Все, что я пытаюсь сделать, похоже, не имеет никакого значения для отображения одного поста (всегда 404)

ностью переписал этот вопрос, поскольку он стал немного длинным, и я волновался, что люди пропустили его, не прочитав его полностью.

У меня есть собственный тип сообщения (процедура), который имеет собственный мета-ключ / значение с идентификатором страницы, который я хочу использовать в качестве слаг.

Я использую эту функцию (ниже) для создания постоянных ссылок в административной области, но при их просмотре на страницах 404 ошибки. Как я могу создать правила перезаписи, чтобы использовать этот же формат?

function bv_procedure_parent_slug($url, $post) {
    if(get_post_type($post) == 'procedure' && get_post_meta($post->ID, 'procedure_parent', true)) {
        $procedure_parent = get_post(get_post_meta($post->ID, 'procedure_parent', true))->post_name;
        if($procedure_parent) {
            $url = str_replace('procedure', $procedure_parent, $url);
        }
    }
    return $url;
}
add_filter('post_type_link', 'bv_procedure_parent_slug', 1, 3);

Цель в том, чтобы у меня было много постов, которые будут содержать мета-ключ / значениеprocedure_parent => 31 (где 31 - идентификатор страницы, а название сообщения - «лицо»). При просмотре одного сообщения, а не URL-адреса/procedure/facelift/ Я бы хотел, чтобы это было/face/facelift/.

Для этого я считаю, что мне нужно иметь доступ к $ post при создании правила перезаписи, чтобы я мог использоватьget_post_meta().

Но как?

Ответы на вопрос(1)

Ваш ответ на вопрос