我正在使用一个修改过的主题,该主题随wordpress旁边的第三方脚本一起提供。脚本文件不幸被加密,所以我希望通过编辑主题模板来实现我想要的。目前,wordpress的主索引显示了每篇文章的所有内容,我想将其限制为一个片段,以避免出现任何重复内容的问题。
我相信我可以用wp\\u trim\\u单词来做这件事,但我无法让它与主题一起工作。
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php cb_build_single_blog_index_table(get_the_ID(), get_permalink(), get_the_tag_list(\'\', __( \', \', \'twentyeleven\' )), get_the_time(), get_the_date(\'c\'), get_post_time(\'F d, Y\'), $settings_detail[\'enable_tags\']); ?>
<?php endwhile; ?>
这可能吗?非常感谢
最合适的回答,由SO网友:Steve Grunwell 整理而成
请记住,一篇文章的摘录并不总是文章的第一个X字,因此wp_trim_words()
在某些情况下可以工作,这是一个非常严格的解决方案。
如果您不想对加密/模糊的源文件进行反向工程(不管是谁做的都很丢脸),您可以使用the_content
过滤器:
/**
* Prevent the_content() from being used on the homepage
* or in post archives.
*
* @param string $content The post content.
* @return The post excerpt.
*/
function wpse257975_swap_content_for_excerpt( $content ) {
if ( is_archive() || is_home() ) {
return get_the_excerpt( get_the_ID() );
}
return $content;
}
add_filter( \'the_content\', \'wpse257975_swap_content_for_excerpt\', 1 );
这肯定是相当黑客的,但这个功能(顺便说一句,它只在循环中起作用)将用存档和博客主页上的帖子摘录覆盖帖子内容。
我建议将条件调整为非常特定于您需要摘录的页面,并确保在将其发布到生产环境之前在开发环境中进行测试。最好的解决方案仍然是改变cb_build_single_blog_index_table()
满足您的需求。