在哪里可以链接到帖子内容?

时间:2016-05-04 作者:rob-gordon

之前使用哪个钩子或过滤器编辑帖子内容the_content 过滤器应用于它。

例如,如果我想添加Hello World, 作为每篇文章的第一个文本。

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

您可以使用the_content 优先级较高(数字较低)。

add_filter( \'the_content\', function( $content ) {
  return \'Hello World \'.$content;
}, 0);
您甚至可以使用负优先级:

add_filter( \'the_content\', function( $content ) {
  return \'Hello World \'.$content;
}, -10);
请注意,这将在每次都适用\'the_content\' 无论职位类型,或目标职位是否为主查询的一部分,都将使用。

要获得更多控制,您可以使用loop_start / loop_end 添加和删除筛选器的操作:

// the function that edits post content
function my_edit_content( $content ) {
  global $post;
  // only edit specific post types
  $types = array( \'post\', \'page\' );
  if ( $post && in_array( $post->post_type, $types, true ) ) {
     $content = \'Hello World \'. $content;
  }

  return $content;
}

// add the filter when main loop starts
add_action( \'loop_start\', function( WP_Query $query ) {
   if ( $query->is_main_query() ) {
     add_filter( \'the_content\', \'my_edit_content\', -10 );
   }
} );

// remove the filter when main loop ends
add_action( \'loop_end\', function( WP_Query $query ) {
   if ( has_filter( \'the_content\', \'my_edit_content\' ) ) {
     remove_filter( \'the_content\', \'my_edit_content\' );
   }
} );

SO网友:TheDeadMedic

以前没有应用其他全局筛选器the_content - 您可以使用$priority 您的add_filter 调用以确保您的函数先于任何其他函数运行:

function wpse_225625_to_the_top( $content ) {
    return "Hello World\\n\\n\\$content";
}

add_filter( \'the_content\', \'wpse_225625_to_the_top\', -1 /* Super important yo */  );

相关推荐

在WP站点的wp-content/ploads/目录中设置301重定向到新的图像URL

我需要在wp-content/uploads/ - 使用新的图像名称,因为旧的名称不起作用。你是怎么做到的?我想从重定向https://example.com/wp-content/uploads/2021/09/image-1.png 到https://example.com/wp-content/uploads/2021/09/image-2.png - 我试着使用我们的301重定向插件(Yoast, 和Redirection) 但两者都不起作用。我也试着改变.htaccess 来自以下地址(http