[解決済み] usces-cartなどプラグインで用意されたテンプレート内でのthe_contentの挙動について

2012 年 7 月 27 日

ホーム フォーラム 使い方全般 [解決済み] usces-cartなどプラグインで用意されたテンプレート内でのthe_contentの挙動について

このトピックには5件の返信が含まれ、2人の参加者がいます。5 年、 3 ヶ月前 satake さんが最後の更新を行いました。

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #51712

    satake
    参加者

    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部分】に

    置き換わってしまいます。

    未熟なゆえ、見当違いの質問であれば、申し訳ございませんが、

    原因含め、対応策をご教示頂ければ幸いでございます。

    #65103

    nanbu
    参加者

    こんにちは。

    カートページやメンバーページは、専用のテンプレートをご利用ください。

    テンプレートは、Welcart Default テーマ内のwc_templatesです。このフォルダをご利用中のテーマ内にコピーしてください。

    get_sidebar()の位置、マークアップなど調整が必要となりますが、このテンプレートをご利用いただいた方が間違いございません。

    #65104

    satake
    参加者

    ご回答頂き、ありがとうございます。

    ご指示頂きました通り、

    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' ); ?>

    の位置以外のソースに関しては、一切いじっておりません。

    何か根本的な間違いをしてしまっているのかもしれませんが、

    何卒よろしくお願い申し上げます。

    #65105

    satake
    参加者

    念のため、現在使用している「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>

    #65106

    nanbu
    参加者

    13行目あたりにあります、usces_remove_filter(); を、get_sidebar() よりも上に配置してみて下さい。

    #65107

    satake
    参加者

    ありがとうございます。

    (まだレイアウトの調整などは行なっておりませんが、)

    usces_remove_filter();を、get_sidebar()よりも上に配置することで、

    サイドバー内のthe_contentの中身が正常に表示されるようになりました。

    ご対応頂き、誠にありがとうございます。

6件の投稿を表示中 - 1 - 6件目 (全6件中)

このトピックに返信するにはログインが必要です。