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

    推荐阅读