【发布时间】:2018-06-20 21:34:46
【问题描述】:
我已经完全重写了这个问题,因为它有点长,我担心人们没有完整阅读就跳过它。
我有一个自定义的帖子类型(过程),其中包含一个自定义元键/值和一个我想用作 slug 的页面 ID。
我正在使用此功能(如下)在管理区域创建永久链接,但在查看这些时,页面出现 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 是页面 ID,帖子名称是“面孔”)。查看单个帖子时,我希望 URL 不是 /procedure/facelift/,而是 /face/facelift/。
为此,我相信在创建重写规则时我需要能够访问 $post,以便我可以使用get_post_meta()。
但是怎么做呢?
【问题讨论】:
-
有人能帮忙吗?
-
您能否使用默认永久链接、您想要的永久链接和您获得的永久链接编辑您的问题?
-
更新@JamesJones
-
其他人可以在这里帮忙吗?我对此一无所知,而且这一定是一件非常简单的事情!
-
@JamesJones 我已经重写了这个问题可能会有所帮助
标签: php wordpress custom-post-type permalinks