Я не совсем уверен, какие функции удалить, и где разместить этот новый. Все, что я пытаюсь сделать, похоже, не имеет никакого значения для отображения одного поста (всегда 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()
.
Но как?