自动将默认文本添加到现有和新帖子的WordPress帖子编辑器中

时间:2015-02-03 17:27:48

标签: php wordpress editor

我正在尝试创建一个功能,该功能会自动将默认文本添加到WordPress Post Editor中以用于现有和新帖子。我已经找到add_filter到default_content的代码,这对新帖子很有效,但对现有的已发布帖子/页面没有任何影响。当我按“更新”到现有帖子时,可以添加新的默认文本,这没关系。

这是我到目前为止所做的:

function add_before_content($content) {
 $content = '<p>My default content.</p>';
return $content;
}
add_action('publish_post', 'add_before_content');
add_action('update_post', 'add_before_content');
add_filter('default_content', 'add_before_content');

提前致谢。

1 个答案:

答案 0 :(得分:0)

过滤器和操作会向其功能发送不同的参数,因此您不一定对不同的功能使用相同的功能。检查过滤器/操作参考,以获取每个参数的正确参数。

此外,没有update_post操作。也许你想要save_post。

但是行动可能不是你想要使用的。它们适合做与动作主题相关的事情,但是为了处理内容,你最好使用过滤器。

例如,类似下面的内容可能会执行您想要的操作:

function add_before_content( $content ) {
  $my_content = '<p>My default content.</p>';
  if (substr($content, 0, strlen($my_content)) != $my_content) {
      $content = $my_content . $content;
  }
  return $content;
}
add_filter( 'content_save_pre', 'add_before_content', 10, 1 );