正文:
在不修改主题文本模板文件的情况下,您可以在文本的开头和结尾添加固定内容,或者在发布的文章中添加固定内容而无需重新编辑文章,这可以通过以下代码实现。
其实原理很简单,就是使用了过滤钩子 add_filter。有了这个钩子,固定的内容可以拼接在 WordPress 文章的开头和结尾。具体代码如下:
给文章开头添加固定内容
add_filter('the_content', 'add_zm_content_beforde');
function add_zm_content_beforde( $content ) {
if( !is_feed() && !is_home() && is_singular() && is_main_query() ) {
$before_content = "在文章内容开头添加固定内容";
$zm = $before_content . $content;
}
return $zm;
}
给文章结尾添加固定内容
add_filter('the_content', 'add_zm_content_after');
function add_zm_content_after( $content ) {
if( !is_feed() && !is_home() && is_singular() && is_main_query() ) {
$after_content = "在文章内容末尾添加固定内容";
$zm = $content . $after_content;
}
return $zm;
}
给特定的文章类型添加固定内容
add_filter('the_content', 'add_zm_content_after_books_custom_post_type');
function add_zm_content_after_books_custom_post_type( $content ) {
if (is_singular( "books" )){
$new_books_content = "只在自定义帖子类型“books”文章末尾添加固定内容";
$aftercontent = $new_books_content;
$zm = $content . $aftercontent;
return $zm;
} else {
return $content;
}
}
以上三段代码应该说非常精炼。如果你有一定的PHP代码基础,应该可以很好地理解它。您只需要根据自己的需要修改上述代码并将其放入当前主题functions.php中保存并退出,然后重新启动 PHP-FPM 进程即可生效。
事实上,不建议将自定义代码放在 functions.php 的主题中。在这里,我们强烈建议您参考“如何在更新主题时方便地保留 Functions.Php 的习俗”一文中给出的方法。
将固定内容添加到特定文章类型的代码的最后一段要求您知道自定义文章类型的名称(例如上面代码中的 book)。一般来说,您可以咨询主题作者,或者自己运行 PHP 代码来获取。您只需要创建一个 PHP 文件(如 test.php)。代码如下:
<?
include("wp-load.php");
// Get post types
$args = array(
'public' => true,
);
$post_types = get_post_types( $args, 'objects' );//以 object 的形式返回所有文章类型
echo "<pre>";
var_dump($post_types)
?>
保存后,您可以通过在网站根目录下的命令行运行它来获取当前的 WordPress 自定义文章类型。该命令如下所示:
PHP test.php
由于主题不同,返回的结果也不同,所以我不会在此发布运行结果!
重要提醒:如果您正在添加HTML 代码,请注意不要在代码中使用双引号。你可以把它改成引号,否则它会因为语法错误而无法运行。
转载请注明:汇站网 » 在 WordPress 文章的开头或结尾添加固定内容