サポート » 使い方全般 » TOPページに記事一覧表示の際のカテゴリーリンクについて

  • 解決済 tanshio

    (@tanshio)


    TOPページに記事一覧を表示させるために以下のphpを記述して表示させています。
    現在では、個々の記事の日付、カテゴリー名、その下に記事タイトルを表示しています。

    カテゴリー名には、カテゴリーの記事一覧へのリンクとなって表示されるのですが、
    今回リンク無しでカテゴリー名のみの表示にさせたいと思っています。
    色々試してもうまくいかず困っています。。phpにはどの様な加工が必要でしょうか?

    そして、これはもし出来ればなのですが、上記を表示させる時にも参考にした以下のサイトのサンプルの様に、カテゴリー名はアイコンで表示させたいのですが、どの様な方法が考えられますでしょうか?
    参考サイト
    以下の「②トップページに記事一覧を表示」の辺り
    http://www.doya-doya.com/word-press/2012/01/26/8615

    宜しくお願い致します。

    <ul>
    		<?php
    		// ▽ポストタイプとタクソノミーを入力
    		$post_type = 'post';
    		$taxonomy = 'category';
    		// △
    		$args=array(
    		    'post_type' => $post_type,
    		    'post_status' => 'publish',
    		    'posts_per_page' => 4,
    		    'orderby' => 'date',
    		    'order' => DESC,
    		    'caller_get_posts'=> 1
    		);
    		$my_posts = get_posts($args);
    		foreach ($my_posts as $post) {
    			setup_postdata($post);
    			$post_title = $post->post_title;
    			?>
    			<li class="odd">
    				<span class='date'><?php the_time('Y.m.d'); ?></span>
    				<?php
    				$terms = get_the_terms( $post->ID, $taxonomy );
    				if ( $terms && ! is_wp_error( $terms ) ) :
    					$draught_links = array();
    					foreach ( $terms as $term ) {
    						echo '<a class="' . $term->slug . '" href="' . home_url( '/' ) . $term->taxonomy .'/'. $term->slug . '">' . $term->name . '</a>';
    					}
    				endif;
    				$days=7; $today=date('U'); $entry=get_the_time('U'); $diff1=date('U',($today - $entry))/86400;
    				if ($days > $diff1) { echo '<img src="http://***/img/new.gif" alt="New" />'; }
    				?>
    				</span><br />
    				<a href="<?php the_permalink();?>"><?php the_title(); ?></span></a>
    			</li>
    		<?php } ?>
    	</ul>
4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター gatespace

    (@gatespace)

    こんにちは。
    カテゴリー(ターム)を表示させている部分が

    echo '<a class="' . $term->slug . '" href="' . home_url( '/' ) . $term->taxonomy .'/'. $term->slug . '">' . $term->name . '</a>';

    ですので、単にリンクさせないだけなら、

    echo $term->name;

    だけで良いかと。
    余談ですが、タームのアーカイブへのリンクを張るなら下記の様にするのが良いと思います。
    こちらはパーマリンク設定を途中で変えても大丈夫です。

    echo '<a href="'.get_term_link( $term ).'" title="'.$term->name.'" class="'.$term->slug.'">'.$term->name."</a>";

    テキストではなく画像にするのであれば、事前にお使いのテーマフォルダ内に
    タームのスラッグ名の画像を用意しておいてください。

    echo '<img src="'.get_stylesheet_directory_uri().'/images/'.$term->slug'.gif" alt="'.$term->name.'">';

    参照:Codex

    トピック投稿者 tanshio

    (@tanshio)

    ありがとうございます!

    以下の記述で無事リンクさせない表示が出来ました。

    echo $term->name;

    因みに画像にする場合ですが、
    元々の以下の記述を

    echo '<a>slug . '" href="' . home_url( '/' ) . $term->taxonomy .'/'. $term->slug . '">' . $term->name . '</a>';

    以下に変更して、

    echo '<img src="'.get_stylesheet_directory_uri().'/images/'.$term->slug'.gif" alt="'.$term->name.'">';

    /images/の部分はルートからの画像のディレクトリを指定すれば良い感じでしょうか?
    スラッグ名の画像をimgフォルダに入れて上記の記述をimgに変更してみたのですが、
    サーバー エラー500で表示が出来ないようなのです。。
    何か併せて別の記述が必用なのでしょうか?

    モデレーター gatespace

    (@gatespace)

    /images/の部分はルートからの画像のディレクトリを指定すれば良い感じでしょうか?

    いいえ。
    get_stylesheet_directory_uri は使っているテーマのディレクトリを指します。
    先の投稿にも書きましたが、
    事前にお使いのテーマフォルダ内にタームのスラッグ名の画像を用意しておいてください。

    後先のコードはタイポしてました。
    以下で試してみてください。
    echo '<img src="'.get_stylesheet_directory_uri().'/images/'.$term->slug.'.gif" alt="'.$term->name.'">';

    トピック投稿者 tanshio

    (@tanshio)

    テーマフォルダのimagesに画像を入れた所、無事表示されました!

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

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「TOPページに記事一覧表示の際のカテゴリーリンクについて」には新たに返信することはできません。