get_the_content
Wordpress のメソッドにフックする適切な方法を探しています。Wordpress は と のフックを提供しますがthe_content
、 は提供the_excerpt()
しget_the_excerpt()
ませんget_the_content()
。コンテンツ投稿に HTML を追加および追加するプラグインを維持しています。the_excerpt()
とに同じものを使用しましたget_the_excerpt()
。get_the_content()
ほとんどのテーマが現在使用しているのと同じようにサポートするにはどうすればよいget_the_content()
ですか? つまり、テーマがget_the_content()
の代わりに使用されている場合the_content()
、プラグインは失敗します。
私のプラグインコードは次のとおりです。
add_action('init', 'my_init');
function my_init() {
add_filter('the_content', 'my_method', 12);
add_filter('get_the_content', 'my_method', 12);
}
function my_method($content) {
$content = "blah blah".$content."blah blah";
return $content;
}
上記のコード (私のプラグイン内) はthe_content call
、テーマからリッスンし、独自のコンテンツを記事に追加します。
これがテーマファイルのメソッドであると仮定します:
<div class="entry-content">
<?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentytwelve' ) ); ?>
</div><!-- .entry-content -->
上記の場合は正常に動作します。
しかし、テーマ コードがこのようなものである場合 ( the_content() からget_the_content())
.
<div class="entry-content">
<?php echo get_the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentytwelve' ) ); ?>
</div><!-- .entry-content -->
にフックが定義されていないため、プラグインが失敗しますget_the_content
。私はテーマ コードを管理していないため、Wordpress がドキュメントで説明している解決策は役に立ちません。
<?php apply_filters('the_content',get_the_content( $more_link_text, $stripteaser, $more_file )) ?>
更新: わかりやすくするために問題定義を拡張しました。