WordPress按帖子类型批量更新帖子内容

时间:2018-09-22 18:38:57

标签: php wordpress plugins custom-post-type

我在Wordpress安装中使用了称为“个人资料”的自定义帖子类型。我有一个自定义插件,可以创建该类型,然后用我希望在该CPT的每个实例上可见的内容来预填充自定义帖子类型。见下文:

function profile_content_write() {
$args = array(
        'post_type' => 'profiles'
    );

$pages = get_posts( $args );

foreach( $pages as $page ){
$post = array(
    'ID'           => $page->ID,
    'post_content' => 'page content...',
  );
wp_update_post( $post );
  }
}

add_action( 'init', 'profile_content_write' );

但是,我有时会需要修改默认内容。使用“个人资料”类型的新帖子将具有新内容(如果我在上面更改了插件代码),而现有帖子则不会。

任何人都有有效的方法来更新帖子类型的内容吗?我可以通过更新插件来修改内容。另外,我很乐意制作一个可以运行更新的菜单项。我只是不确定如何更新内容。

注意:我不想“添加”内容,而是“重写内容”。另外,我不会在通过插件功能显示的内容之外以这种帖子类型编写内容。

1 个答案:

答案 0 :(得分:0)

已更新,工作内容

这可以通过激活然后停用插件文件来实现。激活它会重写所有CPT帖子内容。要更新内容,请修改插件文件,然后重新激活/停用。

function profile_content_write() {
$args = array(
        'post_type' => 'profiles',
        'numberposts' => -1
    );

$pages = get_posts( $args );

foreach( $pages as $page ){
$post = array(
    'ID'           => $page->ID,
    'post_content' => 'page content...',
  );
wp_update_post( $post );
  }
}

add_action( 'init', 'profile_content_write' );