自动设置POST_PARENT值

时间:2018-05-24 作者:amsgator

我正在尝试将我的博客帖子设置为an/articles/page的子级。URL结构正确,但面包屑不正确。

如果我手动设置post_parent 数据库中的列到/文章/页面ID(88)的面包屑是正确的。

有没有办法让我自动设置post_parent 新职位的列值为88?

1 个回复
SO网友:Krzysiek Dróżdż

您可以使用save_post 像这样钩住:

function set_post_parent_on_save($post_id) {
    // If this is just a revision, don\'t do anything
    if ( wp_is_post_revision( $post_id ) )
        return;

    // Check if it is a post
    if ( \'post\' == get_post_type( $post_id ) ) {
        // unhook this function so it doesn\'t loop infinitely
        remove_action( \'save_post\', \'set_post_parent_on_save\' );

        // update the post, which calls save_post again
        wp_update_post( array(
            \'ID\' => $post_id,
            \'post_parent\' => 88 // <- or whatever the parent should be
        ) );

        // re-hook this function
        add_action( \'save_post\', \'set_post_parent_on_save\' );
    }
}
add_action( \'save_post\', \'set_post_parent_on_save\' );
但是。。。这样做不是最好的主意,我更愿意看看面包屑的生成方式,并尝试修复它,这样它才能正常工作。

结束

相关推荐

如何从GET_POSTS()检索值?

我只是试图从get\\u posts中检索“title\\u name”的值,并得到错误“不能将WP\\u post类型的对象用作数组…”我没有使用have\\u posts/The\\u posts的原因是我想反向显示标题:$arr = get_posts(); $arr = array_reverse($arr); foreach ($arr as $post) { echo $post[\'post_name\']; echo \"<br/>