在WordPress单个博客文章中的”the_title”之后和”the_content”之前放置一个代码段
我想在Wordpress单个博客文章标题之后和单个博客内容之前添加一小段代码。
【在WordPress单个博客文章中的”
the_title”
之后和”
the_content”
之前放置一个代码段】我知道有the_title和the_content WordPress过滤器。使用这些过滤器的问题是将它们附加(或前置)在其内部。
add_filter('the_title', array($this, 'add_snippet') );
public function add_snippet($title) {$snippet_html = '<
div class="snippet">
Snippet content<
/div>
';
return $title . $snippet_html;
}
将输出:
<
h1 class="entry-title">
Hello world!<
div class="snippet">
Snippet content<
/div>
<
/h1>
” the_content” 过滤器也是如此:
add_filter('the_content', array($this, 'add_snippet') );
public function add_snippet($content) {$snippet_html = '<
div class="snippet">
Snippet content<
/div>
';
return $snippet_html . $content;
}
将输出:
<
div class="entry-content single-page">
<
div class="snippet">
Snippet content<
/div>
<
p>
Welcome to WordPress. This is your first post.<
/p>
<
/div>
是否有任何WP方法可获得所需的输出?
<
h1 class="entry-title">
Hello world!<
/h1>
<
-- HERE <
div class="snippet">
Snippet content<
/div>
<
div class="entry-content single-page">
<
p>
Welcome to WordPress. This is your first post.<
/p>
<
/div>
#1我认为没有任何内置的WP方法。但是我们当然可以通过使用WP挂钩来实现。请看下面的例子。
模板中的代码应该是这样的。
//For title
<
?php do_action("your_theme_post_before_title");
?>
<
div class="title">
<
?php the_title();
?>
<
/div>
<
?php do_action("your_theme_post_after_title");
?>
//For content
<
?php do_action("your_theme_post_before_content");
?>
<
div class="content">
<
?php the_content();
?>
<
/div>
<
?php do_action("your_theme_post_after_content");
?>
现在, 你可以根据需要使用这些挂钩。
add_action("your_theme_post_after_title", function(){
echo '<
div class="snippet">
Snippet content<
/div>
';
});
add_action("your_theme_post_before_content", function(){
echo '<
div class="snippet">
Snippet content<
/div>
';
});
推荐阅读
- WordPress中的占位符图标Contact Form 7
- WordPress主题中的PHP”警告include_once()(无法打开流”)
- 用于SCSS的PhpStorm File Watcher无法编译node_modules
- WordPress主题中的PHP链接更改
- CentOS7.7 彻底卸载MySQL5.7
- 什么是Docker?Docker可以干什么?
- 生产环境MAT内存分析流程
- docker
- docker 安装 wordpress,通过nginx反向代理,绑定域名,配置https