ブログの次の投稿、前の投稿で商品が含まれてしまう

2014 年 7 月 5 日

ホーム フォーラム テンプレート(テーマ) ブログの次の投稿、前の投稿で商品が含まれてしまう

タグ: 

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

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

    gurokazu
    参加者

    ——————————————-
    WordPress のバージョン:3.9.1
    Welcart のバージョン:1.4.3
    ご利用のテーマ:welcart_minimum 1.6.1 (カスタマイズ)
    症状を確認したブラウザ:chrome
    サーバー(会社名、サービス名):MAMP ローカル
    SSLの利用: 
    WordPress のパーマリンク設定:
    ——————————————–

    初めて質問させていただきます。
    現在weltheme有料テーマをカスタマイズしております。

    single.phpにてブログ記事を書き、個別商品ではwc_single_item.phpを使用して分岐表示をしていますが、ブログ記事の次の記事、前の記事を出力すると商品も含まれてしまいます。

    カテゴリー記事やブログ一覧ではちゃんと分岐できていますが、「次の記事」「前の記事」の部分だけ商品のリンクが出力されてしまい困っています。

    何か方法があればご教授頂ければと思いますので宜しくお願い致します。

    以下single.phpのコードとなります。

    <?php
    /**
     * <meta content="charset=UTF-8">
     * @package Welcart
     * @subpackage Welcart minimum theme
     *
     * ブログ投稿のページテンプレート
     */
    get_header();
    ?>
    
    <div id="content" class="two-column">
    
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    
    <div class="catbox">
    
    <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
    <?php if(!usces_is_item()): ?>
    	<h1 class="postTitle"><?php the_title(); ?></h1>
    <?php endif; ?>
    	<div class="singleContent">
    		<div class="eyecatch">
    			<?php the_post_thumbnail('large'); ?>
    		</div>
    		<div class="storycontent">
    			<?php the_content(__('(more...)')); ?>
    		</div>
    		
    
    		<div class="storymeta">
    			<?php the_date('','<span class="storydate">','</span>'); ?>
    			<span class="storycat">カテゴリ:<?php the_category(', '); ?></span>
    			<span class="storytag">タグ:<?php the_tags('',', '); ?></span>
    			<span class="socialBox">//ソーシャルBOX here</span>
    		</div>
    
    		<div class="postNav">
    			<div class="prePost">
    				<?php $prevpost = get_adjacent_post(false, '', true); if ($prevpost) : ?>
    				<p>
    					« 前の記事 
    					<a href="<?php echo get_permalink($prevpost->ID); ?>">
    						<?php echo get_the_post_thumbnail($prevpost->ID); ?>
    						<?php echo esc_attr($prevpost->post_title); ?>
    					</a>
    				</p>
    				<?php endif; ?>
    			</div>
    			<div class="nextPost">
    				<?php $nextpost = get_adjacent_post(false, '', false); if ($nextpost) : ?>
    				<p>
    					次の記事 »
    					<a href="<?php echo get_permalink($nextpost->ID); ?>">
    						<?php echo get_the_post_thumbnail($nextpost->ID); ?>
    						<?php echo esc_attr($nextpost->post_title); ?>
    					</a>
    				</p>
    				<?php endif; ?>
    			</div>
    		</div>
    		
    	</div>
    </div>
    
    </div><!-- end of catbox -->
    
    <?php endwhile; else: ?>
    <div class="catbox">
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    </div><!-- end of catbox -->
    <?php endif; ?>
    
    </div><!-- end of content -->
    
    <?php get_footer(); ?>
    
    #71209

    nanbu
    参加者

    こんにちは。

    管理パネル「Welcart Shop -システム設定-」にて、「ループ表示の際、商品を分離して表示する」にチェックを入れるとどうなりますでしょうか。

    #71212

    gurokazu
    参加者

    返答有り難うございます。
    そちらも試してみたのですが、記事のループの場合は問題なく商品、記事と分けて出力されるのですが、記事の下部きて出力される次の記事、前の記事ではどうしても商品の投稿まで含まれてしまいます。

    上のコードですと

    <div class="postNav">
     <div class="prePost">
      <?php $prevpost = get_adjacent_post(false, '', true); if ($prevpost) : ?>
      <p>
      « 前の記事 
       <a href="<?php echo get_permalink($prevpost->ID); ?>">
        <?php echo get_the_post_thumbnail($prevpost->ID); ?>
    	<?php echo esc_attr($prevpost->post_title); ?>
       </a>
      </p>
      <?php endif; ?>
     </div>
     <div class="nextPost">
      <?php $nextpost = get_adjacent_post(false, '', false); if ($nextpost) : ?>
       <p>
        次の記事 »
        <a href="<?php echo get_permalink($nextpost->ID); ?>">
         <?php echo get_the_post_thumbnail($nextpost->ID); ?>
    	 <?php echo esc_attr($nextpost->post_title); ?>
        </a>
       </p>
      <?php endif; ?>
     </div>
    </div>

    の部分で出力していますが、何か問題が有るのでしょうか?
    もしくは他の方法が有るようでしたら教えていただけると幸いです。
    (ちなみに次の投稿、前の投稿ではサムネイルも一緒に取得している為上記のコードにしています)

    宜しくお願い致します。

    #71224

    nanbu
    参加者

    こちらに書いていただいたテンプレートのファイル名はindex.phpですか?

    #71226

    gurokazu
    参加者

    上記コードはsingle.phpに書いております。

    #71229

    nanbu
    参加者

    お手数をおかけしました。

    ちょっと調べてみましたところ、get_adjacent_post()の使い方で回避できるような感じです。

    ・まずブログをカテゴリーで括ります。blogなどと言ったカテゴリーを作ってブログ記事で適用します。既に特定のカテゴリーが適用されているのでしたらそのままでも良いと思います。

    ・次にget_adjacent_post()の第一引数をtrueにします。

    検証をしていませんが、これで回避できませんでしょうか。

    #71230

    gurokazu
    参加者

    ご返答有り難うございました。

    無事にブログ記事のみ表示されました!

    もともとBLOGという親カテゴリーの中に子カテゴリー(例えば「店舗情報」や「最新入荷商品」等)を作成しておりましたが、ブログ投稿の際に親カテゴリー(ここではBLOG)にチェックを入れておりませんでしたのでチェックをし、get_adjacent_post()の第一引数をtrueにした所、ブログ記事限定で出力されました。

    無事に解決でき大変助かりました。
    有り難うございました。

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

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