将帖子缩略图 timage 附加到第一个内容标题标签

时间:2021-03-30 18:17:52

标签: php wordpress

我想向以下代码添加新条件:

function add_thumb_after_h2( $content ) {
  if (is_single()) {
    global $post;

    if ( substr_count( $content, '<h2>' ) > 3 ) {
      $thumb = '<div id="post_thumbnail">' . get_the_post_thumbnail( $post->ID, 'fullsize' ) . '</div>';
      $content = str_replace_once("</h2>", "</h2>".$thumb, $content);
    }
  }

  return $content;
}

我还需要包含 h3h4h5,例如:

    if ( substr_count( $content, '<h2>,<h3>,<h4>,<h5>' ) > 3 ) {}

我该怎么做? 缩略图应仅添加到标题标记的第一次出现处,无论其类型如何(h2h3 等)

谢谢

1 个答案:

答案 0 :(得分:1)

您可以通过将您的功能修改为以下内容来实现此目的:

function add_thumb_after_h2( $content ) {
  if ( is_single() ) {
    global $post;

    foreach ( array('h2', 'h3', 'h4', 'h5') as $heading ) {
      if ( ! $replaced && substr_count( $content, "<{$heading}>" ) > 3 ) {
        $thumb = '<div id="post_thumbnail">' . get_the_post_thumbnail( $post->ID, 'fullsize' ) . '</div>';
        $content = str_replace_once("</{$heading}>", "</{$heading}>" . $thumb, $content);
        break;
      }
    }
  }

  return $content;
}