Wordpress functions.php - 如果条件杀死其他帖子内容

时间:2018-04-30 14:26:35

标签: php wordpress content-management-system

所以我得到了这个代码,我正在努力适应我的需求。它应该并且确实围绕必要的<img> tags包裹div。但是当我添加&#34; if (is_page...)"所有其他网站都没有内容了。我很困惑为什么会发生这种情况,因为代码不应该执行或在if语句不满足时做任何事情。

function breezer_addDivToImage( $content ) {
if ( is_page_template('single.php') ) {
   // A regular expression of what to look for.
   $pattern = '/(<img([^>]*)>)/i';
   // What to replace it with. $1 refers to the content in the first 'capture group', in parentheses above
   $replacement = '<div class="myphoto">$1</div>';

   // run preg_replace() on the $content
   $content = preg_replace( $pattern, $replacement, $content );

   // return the processed content
   return $content;
}
}

add_filter( 'the_content', 'breezer_addDivToImage' );
/* Place custom code above this line. */
?>

这是我在页面上显示内容的方式

<!--S3 show if dynamic page (blogposts)-->
<?php } else if (is_page() == false) {
 if(have_posts()) :
    while(have_posts())  : the_post();
      if ( has_post_thumbnail() ) {
       <img class="responsive-img" src="<?php the_post_thumbnail_url(); ?>">
      <?php } ?>
      <h2><?php the_title(); ?></h2>
      <?php the_content();
        endwhile;
        else : ?>
        <h3></h3>
        <p></p>
 <?php endif;
} ?>
<!--S3 end "show if dynamic page"-->

1 个答案:

答案 0 :(得分:1)

您使用此挂钩过滤所有网页和帖子的内容,并且只有在条件为真时才返回内容。

将一个else {return $ content}简单地放到你的breezer_addDivToImage函数中。

<dependency>
  <groupId>org.apache.spark</groupId>
  <artifactId>spark-core_2.11</artifactId>
  <version>2.2.0</version>
  <scope>provided</scope>
</dependency>