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

Php 自动将现有和新帖子的默认文本添加到WordPress帖子编辑器中,php,wordpress,editor,Php,Wordpress,Editor,我正在尝试创建一个函数,该函数将自动将现有和新帖子的默认文本添加到WordPress帖子编辑器中。我已经找到了将_过滤器添加到默认_内容的代码,该代码对新帖子很有效,但不会对现有发布的帖子/页面产生任何影响。新的默认文本可以添加时,我按更新到现有的职位,这将是罚款 以下是我到目前为止的情况: function add_before_content($content) { $content = '<p>My default content.</p>'; return $c

我正在尝试创建一个函数,该函数将自动将现有和新帖子的默认文本添加到WordPress帖子编辑器中。我已经找到了将_过滤器添加到默认_内容的代码,该代码对新帖子很有效,但不会对现有发布的帖子/页面产生任何影响。新的默认文本可以添加时,我按更新到现有的职位,这将是罚款

以下是我到目前为止的情况:

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');

提前感谢。

过滤器和操作会向其函数发送不同的参数,因此您不必对不同的函数使用相同的函数。检查过滤器/操作参考,了解每个过滤器/操作的正确参数

此外,没有更新后操作。也许你想保住饭碗

但无论如何,行动可能不是你想要使用的。它们有助于做一些与活动主题相关的事情,但要处理内容,最好使用过滤器

例如,以下内容可能会满足您的要求:

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 );

非常感谢@bobdye,它工作得很好。如果从functions.php更新$my_内容,在WP识别对$my_内容的任何编辑并删除/替换现有的$my_内容之前,是否有任何方法可以缩短延迟时间?例如,如果我有一个带有URL的广告横幅,然后在functions.php中更改了它?