フォーラムへの返信

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: ブログの前後記事リンクにタグも表示する方法
    トピック投稿者 silver_kir

    (@silver_kir)

    正当なやり方ではないですがこちらベースにCSSで小細工して目的に近い形にしてみました。

    <?php
    $posttags = get_the_tags();
    if ( $posttags ) {
      foreach ( $posttags as $tag ) {
        echo $tag->name . ' '; 
      }
    }
    ?>

    以下ソースです。

    <div id="prev_next" class="clearfix">  
    <?php
    $prevpost = get_adjacent_post(true, '', true); //前の記事(同一カテゴリ)
    $nextpost = get_adjacent_post(true, '', false); //次の記事(同一カテゴリ)
    if( $prevpost or $nextpost ){ //前の記事、次の記事いずれか存在しているとき
    ?>
    <?php
    if ( $prevpost ) { //前の記事が存在しているとき
    echo '<a href="' . get_permalink($prevpost->ID) . '" title="' . get_the_title($prevpost->ID) . '" id="prev" class="clearfix">
    <div id="prev_title">PREV</div>
    ' . get_the_post_thumbnail($prevpost->ID, array(100,100)) . '
    <p>' . get_the_title($prevpost->ID) . '</p></a>';
    } else { //前の記事が存在しないとき
    echo  '<div id="prev_no"><a href="' .home_url('/'). '"><div id="prev_next_home"><i class="fa fa-home"></i>
    </div></a></div>';
    }
    if ( $nextpost ) { //次の記事が存在しているとき
    echo '<a href="' . get_permalink($nextpost->ID) . '" title="'. get_the_title($nextpost->ID) . '" id="next" class="clearfix">  
    <div id="next_title">NEXT</div>
    ' . get_the_post_thumbnail($nextpost->ID, array(100,100)) . '
    <p>'. get_the_title($nextpost->ID) . '</p></a>';
    } else { //次の記事が存在しないとき
    echo '<div id="next_no"><a href="' .home_url('/'). '"><div id="prev_next_home"><i class="fa fa-home"></i>
    </div></a></div>';
    }
    ?>
    
    <ul class="prev_next-tag">
    	<li>
    		<div>
    <?php
    if ( $prevpost ) { //前の記事が存在しているとき
    $posttags = get_the_tags($prevpost->ID);
    if ( $posttags ) {
      foreach ( $posttags as $tag ) {
        echo $tag->name . ' '; 
      }
    }
    } else { //前の記事が存在しないとき
    }
    ?>
    		</div>
    	</li>
    	<li>
    		<div>
    <?php
    if ( $nextpost ) { //次の記事が存在しているとき
    $posttags = get_the_tags($nextpost->ID);
    if ( $posttags ) {
      foreach ( $posttags as $tag ) {
        echo $tag->name . ' '; 
      }
    }
    } else { //次の記事が存在しないとき
    }
    ?>
    		</div>
    	</li>
    </ul>
    <?php } ?>
    </div>

    本当は前後記事リンクの中で組み込むのが良いのでしょうが、上手くできなかったため別の場所で読み込んでCSSで重ねることで目的に近い形としました。

    フォーラム: 使い方全般
    返信が含まれるトピック: ブログの前後記事リンクにタグも表示する方法
    トピック投稿者 silver_kir

    (@silver_kir)

    so-taro さん、コメントありがとうございます。

    
    <?php echo get_the_tag($prevpost->ID); ?>
    <?php echo get_the_tag($nextpost->ID); ?>
    

    こちらは上記ソース内に組み込みとエラーがでました。
    組み込み方が悪いのかと試しに現在タイトルを読み込んでいる
    . get_the_title($prevpost->ID) .

    . get_the_tag($prevpost->ID) .
    に差し替える形で組み入れてみても同様にエラーでした。
    get_the_tagsにして組み入れた所エラーは出ませんがタグ情報が読み込めず「Array」が返されました。
    こちらはひょっとしたらfunctions.phpも差し替えているためそちらにタグ関係の処理が入っていないのかもしれません。

    >尚、通常はforeachを利用したほうが良さそうですね。
    こちらの方は既存のソースへの組み込み方が分からず、色々と試してみましたがご提示いただいたのに活用できませんでした。
    具体的な組込例など良ければお願いできませんでしょうか。

    トピック投稿者 silver_kir

    (@silver_kir)

    foreachからループが始まっているのを失念していました。
    ループ内でいくらカウントを加算しようとしてもそれは無理ですよね・・・ 簡単なミスでお恥ずかしい。

    ご指摘通りの手順で無事目的の仕様が実現できました。
    ありがとうございました!

    トピック投稿者 silver_kir

    (@silver_kir)

    PHPの配列で取得するということはfunctions.phpへの記述でしょうか。
    色々と調べながら下記のような内容で行なってみましたが、繰り返しの処理が行われないらしくリストタグのクラス名が一定のままでした。
    PHPに対して知識が足らずで申し訳ないです。

    ソース側記述

    <ul class="leftnavi_ranking">
    <?php ranking_tag_cloud(); ?>
    </ul>

    functions.php側への追記

    /**
    * タグクラウドの調整
    */
    function ranking_tag_cloud(){
      $tags = wp_tag_cloud(
        array(
          'format' => 'array',
          'smallest' => '10',
          'largest' => '10',
          'number' => '10',
          'order' => 'DESC',
          'orderby' => 'count'
        )
      );
    
      foreach($tags as $tag){
        preg_match('/href=\'http:\/\/.+?\'/', $tag, $matche);
        $href = $matche[0];
    
        preg_match('/style=\'.+?\'/', $tag, $matche);
        $score = round(floatval(preg_replace('/[^0-9\.]/', '', $matche[0])));
        $class_score = "tag-score-{$score}";
    
        preg_match('/title=\'.+?\'/', $tag, $matche);
        $title = $matche[0];
    
        $tag_name = strip_tags($tag);
    
        $post_count = 1;//カウンターの初期化
        $class = ($post_count % 2) ? 'bg_white' : 'bg_non';//カウントが2で割れればodd、割れなければeven
        echo "<li class=\"$class\">";//上記で得た値をクラスへ代入 
    
        echo "<a $href $title>$tag_name</a></li>";
    
        $post_count++; //カウンターを1増やす
      }
    }

    トピック投稿者 silver_kir

    (@silver_kir)

    ご提示いただきましたfunctions.phpの内容を使って目的の仕様が実現できました。
    また、captionに関しては多数の利用例も組み込んでいただき非常に判りやすく整理していただけていて助かります。

    本当にありがとうございました!

    フォーラム: 使い方全般
    返信が含まれるトピック: カテゴリー記事毎への連番表示に関して関して
    トピック投稿者 silver_kir

    (@silver_kir)

    お礼が遅くなり申しわけありません。
    頂いた指摘を元に変更をおこなって目的を果たせました。
    ありがとうございます。

    トピック投稿者 silver_kir

    (@silver_kir)

    以下のページを参考に
    「カテゴリA」のページには“カテゴリA”のタグのみを表示
    「カテゴリB」のページには“カテゴリB”のタグのみを表示
    の部分は解決しました。

    http://ja.forums.wordpress.org/topic/3432

    ただやはりカテゴリページに移動するとすべてのカテゴリが表示されてしまいます。
    カテゴリによる絞り込みの手順を引き続きご教授の方よろしくお願い致します。

    トピック投稿者 silver_kir

    (@silver_kir)

    すいません、プラグイン用のフォーラムがありましたのでそちらに移動させていただきました。

    フォーラム: 使い方全般
    返信が含まれるトピック: カテゴリごとのタグクラウドの利用についてです
    トピック投稿者 silver_kir

    (@silver_kir)

    すいません、過去ログは探したのですが見つけきれていませんでした。
    ご提示ありがとうございます。
    無事解決いたしました。

    トピック投稿者 silver_kir

    (@silver_kir)

    ご提示していただいたリンク先の方法で無事解決いたしました。
    ありがとうございます。

    get_template_part( $slug, $name );
    >という関数が用意されているので、そちらを使う事をお勧めします。
    非推奨になっていたのは気がついておりませんでした。
    今後利用を切り替えていこうと思います。
    ご指摘ありがとうございます。

    フォーラム: 使い方全般
    返信が含まれるトピック: query_postsでcategory_nameを複数利用したいのですが
    トピック投稿者 silver_kir

    (@silver_kir)

    無事動作しました!
    考えてみれば二度もcat=が組み込まれるなんて変でしたね。
    ありがとうございます。

11件の返信を表示中 - 1 - 11件目 (全11件中)