[解決済み] usces-cartなどプラグインで用意されたテンプレート内でのthe_contentの挙動について
-
投稿者投稿
-
2012年7月27日 12:50 PM #51712satake参加者
WordPress のバージョン:3.4.1
Welcart のバージョン:1.1.7
ご利用のテーマ:オリジナルテーマ
症状を確認したブラウザ:FireFox
サーバー(会社名、サービス名):ローカル
SSLの利用: 無し
WordPress のパーマリンク設定:/%category%/%post_id%/
新たにECサイトを構築することになり、
初めてwelcartを使わせて頂いております。
オリジナルで作成したテーマにwelcartを導入させて
頂こうと考えているのですが、
「カートの中」「お客様情報」「発送・支払い方法」「内容確認」
ページにて、sidebar.phpで出力しているループの
the_contentの中身が正常に表示されず、解決策も見いだせずにおります。
例えば「カートの中」ページにいる場合、
sidebar.phpの記述
(the_contentで出力している部分が、「カートの中」になってしまう)
========================================
<ul class="news">
<?php $args = new wp_query(array('post_type' => 'topic')); // カスタム投稿タイプ「topic」の一覧を表示 ?>
<?php if ($args->have_posts()) : while ($args->have_posts()) : $args->the_post(); ?>
<h3 class="postTitle"><?php the_title(); ?></h3>
<?php remove_filter('the_excerpt',array($usces,'filter_cartContent'),20); // 今回の現象の対策として記述してみたフィルター(効果なし) ?>
<?php remove_filter('the_content',array($usces,'filter_cartContent'),20); // 今回の現象の対策として記述してみたフィルター(効果なし) ?>
<div class="postContent"><?php the_content(); ?></div>
<?php endwhile; else: ?>
- <?php echo "表示できるトピックがありません。" ; ?>
<?php endif; wp_reset_query(); ?>
========================================
single.phpの記述
(正常に表示される)
========================================
<article class="entry">
<h2 class="title">商品詳細</h2>
<div class="content">
<?php the_content(); // 「カートの中」などが正常に表示されます ?>
</div>
</article>
========================================
上記の記述で、「カートの中」「お客様情報」「発送・支払い方法」「内容確認」
以外の「トップページ」、各「固定ページ」、「カテゴリーページ」などでは、
サイドバー部分に正常に【カスタム投稿タイプ「topic」の本文】が表示されるのですが、
「カートの中」に遷移した場合、
【カスタム投稿タイプ「topic」の本文】が【カートの中のcontent部分】に
置き換わってしまいます。
未熟なゆえ、見当違いの質問であれば、申し訳ございませんが、
原因含め、対応策をご教示頂ければ幸いでございます。
2012年7月30日 4:58 AM #65103nanbuキーマスターこんにちは。
カートページやメンバーページは、専用のテンプレートをご利用ください。
テンプレートは、Welcart Default テーマ内のwc_templatesです。このフォルダをご利用中のテーマ内にコピーしてください。
get_sidebar()の位置、マークアップなど調整が必要となりますが、このテンプレートをご利用いただいた方が間違いございません。
2012年7月30日 7:37 AM #65104satake参加者ご回答頂き、ありがとうございます。
ご指示頂きました通り、
Welcart Default テーマ内の「wc_templates」フォルダを
オリジナルテーマフォルダに直下にコピー致しました。
結果、「wc_cart_page.php」などのテンプレートが
「single.php」より優先して読み込まれるようになり、
サイドバー内の「the_content();」の中身も正常に表示される
ようになったのですが、
左サイドバーレイアウトの実現のため、
「wc_cart_page.php」内94行目に記述されております
「
<?php get_sidebar( 'cartmember' ); ?>
」
を
<div id="content" class="two-column">
より
手前(9行目)に移動したところ、
sidebarの「the_content();」の中身が
再びカートページの表示になってしまいました。
<?php get_sidebar( 'cartmember' ); ?>
の位置以外のソースに関しては、一切いじっておりません。
何か根本的な間違いをしてしまっているのかもしれませんが、
何卒よろしくお願い申し上げます。
2012年7月30日 7:40 AM #65105satake参加者念のため、現在使用している「sidebar.php」の全文も下記しておきます。あわせてご確認頂ければ幸いです。
<section id="side">
<ul class="sNav">
<?php // ヴィジェットを表示
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) :
endif;
?>
</ul>
<h2 class="heading">■Topics</h2>
<ul class="news">
<?php $args = new wp_query(array('post_type' => 'topic')); ?>
<?php if ($args->have_posts()) : while ($args->have_posts()) : $args->the_post(); ?>
<li>
<h3 class="postTitle"><?php the_title(); ?></h3>
<?php remove_filter('the_excerpt',array($usces,'filter_cartContent'),20); ?>
<?php remove_filter('the_content',array($usces,'filter_cartContent'),20); ?>
<div class="postContent"><?php the_content(); ?></div>
</li>
<?php endwhile; else: ?>
<li><?php echo "表示できるトピックがありません。" ; ?></li>
<?php endif; wp_reset_query(); ?>
</ul>
<div class="blog">
<a href="#"><img src="<?php echo get_template_directory_uri(); ? />/images/side_blog.jpg"></a>
</div>
</section>2012年8月1日 7:03 AM #65106nanbuキーマスター13行目あたりにあります、usces_remove_filter(); を、get_sidebar() よりも上に配置してみて下さい。
2012年8月1日 7:43 AM #65107satake参加者ありがとうございます。
(まだレイアウトの調整などは行なっておりませんが、)
usces_remove_filter();を、get_sidebar()よりも上に配置することで、
サイドバー内のthe_contentの中身が正常に表示されるようになりました。
ご対応頂き、誠にありがとうございます。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。