个性化阅读
专注于IT技术分析

在WordPress单个博客文章中的”the_title”之后和”the_content”之前放置一个代码段

我想在Wordpress单个博客文章标题之后和单个博客内容之前添加一小段代码。

我知道有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>';    
});
赞(0)
未经允许不得转载:srcmini » 在WordPress单个博客文章中的”the_title”之后和”the_content”之前放置一个代码段

评论 抢沙发

评论前必须登录!