Como colocar um meta-valor na regra de reescrita para o tipo de postagem personalizado?
Eu reescrevi completamente essa pergunta, pois ela ficou um pouco longa e fiquei preocupada que as pessoas a ignorassem sem ler completamente.
Eu tenho um tipo de postagem personalizado (procedimento) que apresenta uma meta-chave / valor personalizado com um ID da página que eu quero usar como slug.
Estou usando esta função (abaixo) para criar os links permanentes na área de administração, mas ao visualizá-los, as páginas são erros 404. Como posso criar regras de reescrita para usar esse mesmo formato?
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);
O objetivo aqui é que eu tenho muitas postagens aqui, que conterão uma meta-chave / valor deprocedure_parent => 31
(onde 31 é um ID da página e o nome da postagem é 'face'). Ao visualizar a postagem única, em vez do URL sendo/procedure/facelift/
Eu gostaria que fosse/face/facelift/
.
Para isso, acredito que preciso obter acesso a $ post ao criar a regra de reescrita para que eu possa usarget_post_meta()
.
Mas como?