我正在尝试编写一个函数,将我的自定义帖子类型与与与自定义帖子类型同名的页面“配对”。
其目的是,当保存自定义帖子类型时,它会检查是否有与自定义帖子类型帖子同名的页面,如果有,它会从该页面提取id,并将其作为CPT帖子的父id。对我来说,保持它们之间的联系是一种很有技巧的方式(自定义帖子类型的帖子从页面继承了不同的值)。
然而,我无法让它工作,它会给我一个id,但它是错误的id(它会获取id最高的页面的id),不确定我做错了什么。
以下是当前代码:
function find_parent_for_cpt( $data , $postarr ) {
global $post;
if ($post->post_type != \'post\' || \'page\'){
$post_type = $post->post_type;
$mypages = get_pages();
foreach($mypages as $page){
if($page->post_title==$post_type) {
$data[ \'post_parent\' ] = $page->ID;
return $data;
}
}
}
}
add_filter( \'wp_insert_post_data\' , \'find_parent_for_cpt\' , \'99\', 2 );