WP_INSERT_POST不断添加多个页面

时间:2017-08-07 作者:Gregory Schultz

我有一个创建页面的函数,但我只想要一个页面,下面的代码不断添加多个页面(一次两个)。有没有办法只添加一个帖子?我累了this solution 但它没有起作用。

$my_post  = array( 
               \'post_title\'     => \'My page Reql\',
               \'post_type\'      => \'page\',
               \'post_name\'      => \'archive\',
               \'post_content\'   => \'This is my page reql.\',
               \'post_status\'    => \'publish\',
               \'comment_status\' => \'closed\',
               \'ping_status\'    => \'closed\',
               \'post_author\'    => 1,
               \'menu_order\'     => 0,
               \'guid\'           => site_url() . \'/archive\' );
$PageID = wp_insert_post( $my_post, FALSE ); // Get Post ID - FALSE to return 0 instead of wp_error.

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

您可以检查页面是否存在,并仅在页面不存在时创建它。get_page_by_title() 在这种情况下可以帮助您:

// Check if the page already exists
if( ! get_page_by_title(\'My page Reql\') ) {
    // The page doesn\'t exist, so let\'s create it
}
此外,您可能需要研究如何调用该函数。您可能会调用它两次,这可能是它创建每个帖子副本的原因。

结束

相关推荐

Renaming wp_list_pages class

我当前正在尝试更改wp\\U list\\U pages正在输出的输出类。然而,我不希望进行全局更改,因此简单的过滤器不是一个选项,即只有由快捷码生成的菜单应该有不同的类。目前,我正在制作标题中这样的菜单。php:<nav class=\"uk-navbar uk-navbar-attached\" data-uk-sticky> <ul class=\"uk-navbar-nav uk-width-1-1\"> <?php do_shortcode(\'[t