トップページなどで、商品一覧を表示する際に the_excerpt()
や the_content()
といった本文を出力するテンプレートタグを使おうとして困ったことはないでしょうか?
Welcart では、特定条件下にこの2つのテンプレートタグにフィルターをかけています。
is_singular()
でない場合( is_single()
、is_page()
、is_attachment()
のいずれも偽である場合)に、商品のメイン写真と本文をタグ付きで出力するようになっています。
なので、ループ内で the_content()
と記述すると本文以外に商品のメイン画像が横に表示されます。
これは通常の一覧ページや検索結果などのアーカイブには有効ですが、トップページの「お勧め商品」などグローバルな wp_query
を操作した場合(アーカイブとみなされる)は自由なレイアウトができなくなってしまいます。
そこで考えられる対策が remove_filter
です。
スクリプトは次の通りです。
<?php remove_filter( 'the_excerpt', array( $usces, 'filter_cartContent' ), 20 ); the_excerpt(); ?>
<?php remove_filter( 'the_content', array( $usces, 'filter_cartContent' ), 20 ); the_content(); ?>1つ目は
the_excerpt()
に対するフィルター、2つ目は the_content()
に対するフィルターを外しています。これによりメイン画像のサムネイルなしの本文が出力されるようになります。