web-dev-qa-db-ja.com

シングル投稿ビューでもっとスパンを削除するにはどうすればいいですか?

単一投稿ビューで次の行を完全に削除する方法を教えてください。

<p><span id="more-XXX"></span></p>

スパンタグ全体を削除する必要があります。 preg_replace以外のオプションはありますか?

1
Trek

docs で述べたように、抜粋するポストの「カットオフ」ポイントを指定するためにクイックタグ<!--more-->を使用する場合、the_content()タグは<!--more--> quicktagポイントまでの抜粋のみを表示します非シングル/非パーマリンクの投稿ページに。

この場合、WordPressはコンテンツに<span id="more-' . $post->ID . '"></span>を追加します。 <span>には内容がないので( コードをチェックアウトする )、内容をフィルタリングすることで<span>を簡単に削除できます。

add_filter( 'the_content', function( $content ) {
  return str_replace( '<span id="more-' . get_the_ID() . '"></span>', '', $content );
}

これにより、Read Moreリンクが<!--more-->を挿入した領域にジャンプしなくなります。これを達成するより簡単な方法は the_content_more_link フィルタを使用してそこから#more-<post_id>部分を削除することです。そのために、いくつかの コーデックスの例があります

2
swissspidy