まず、表示の話ですが、CSSを書けば良いだけです。
<dl class="feed">
<dt>日付</dt>
<dd>タイトル</dd>
</dl>
HTMLとしてはこうなっているので、
<日付>
<タイトル>
きっとこうなるのでしょう。
現在のCSSでどうなっているのかはこちらには分かりません。
縦の<dt><dd>を横並びにする方法を探してみてください。
タイトルをクリックしたら、該当カテゴリーページにジャンプ、については、
<h3 class="post_title">新着情報</h3>
<dl class="feed">
<?php query_posts('posts_per_page=5'); ?>
<?php while (have_posts()) : the_post(); ?>
<dt>
<span class="day">
<?php the_time('Y年n月j日'); ?>
</span>
</dt>
<dd>
<a href="カテゴリーページのURL">
<?php the_title(); ?>
</a>
</dd>
<?php endwhile; ?>
</dl>
記事の属するカテゴリページのURLがどんなかは知りませんけれど、
http://example.com/category/hoge/
hoge ってカテゴリーなら、こんな感じだと思います。
それなら、
<?php
$cat = get_the_category(); $cat = $cat[0]; echo '<a href="' . get_bloginfo('url') . '/category/' . $cat->category_nicename . '">';
echo $cat->cat_name;
echo '</a>';
?>
返信ありがとうございます。
1つめは、理解できました。やってみます、ありがとうございます。
ちょっとよく理解できないのが、2つめの点で、
<h3 class="post_title">新着情報</h3>
<dl class="feed">
<?php query_posts('posts_per_page=5'); ?>
<?php while (have_posts()) : the_post(); ?>
<dt>
<span class="day">
<?php the_time('Y年n月j日'); ?>
</span>
</dt>
<dd>
<a href="カテゴリーページのURL">
<?php the_title(); ?>
</a>
</dd>
<?php endwhile; ?>
</dl>
に書き換えればいいというのは、何となく理解できたのですが、
<?php
$cat = get_the_category(); $cat = $cat[0]; echo '<a>category_nicename . '">';
echo $cat->cat_name;
echo '</a>';
?>
をどの部分に書けばいいのかというのがよくわかりません。
初心者で本当に申し訳ないのですが、教えてください。
記事のカテゴリー名を取得して、リンクを作成し、
そのリンクをタイトル表示につなげます。
<?php
$title = get_the_title( ); //タイトル取得
$cat = get_the_category();//カテゴリー取得
$cat = $cat[0];
//リンク作成
echo '<a href="' . get_bloginfo('url') . '/category/' . $cat->category_nicename . '">';
echo $title;
echo '</a>';
?>
こうやったらどうなるか試してください。
カテゴリーページのURLは、パーマリンク設定に依るので、
manfuroiさんのサイトのカテゴリーページのURLを確かめてください。
phpが分からなくても、wordpress初心者でも何でも構わないのです。
初心者だから申し訳ない、というのは間違いだと思いますよ。
初心者だから何も分からなくても仕方ないですし、
最初はみんな初心者です。
ただ、やりたいことがあるわけですから、
・カテゴリーページへのリンクをどうやったら作ることが出来るか?
・今は個別記事へのリンクになっているが、それはどうやって作られているのか?
・それを変更するには、該当記事のカテゴリー名を取得しないといけないのではないか?
といった、そのための手段を出来るだけ考えてみないといけません。
どうやって書けばいいのか、どこに書けばいいのか、
これからも、それを全て質問するわけにもいかないわけですから、
考えた末に、
・どうやってカテゴリー名を取得してリンク作成するのか分からない
とか、そういう質問を出来た方が良いと思われませんか?
たくさんのアドバイスとお返事ありがとうございます。
要するに、
<h3 class="post_title">新着情報</h3>
<dl class="feed">
<?php query_posts('posts_per_page=5'); ?>
<?php while (have_posts()) : the_post(); ?>
<dt>
<span class="day">
<?php the_time('Y年n月j日'); ?>
</span>
</dt>
<dd>
<?php
$cat = get_the_category(); $cat = $cat[0]; echo '<a>category_nicename . '">';
echo $cat->cat_name;
echo '</a>';
?>
</dd>
<?php endwhile; ?>
</dl>
という形で書けばいいということでしょうか?
そして上記の get_bloginfo(‘url’)部分のurl部分をカテゴリページのurlにしてということですか?
ひとつ質問なのですが、自分はカテゴリを5つ使っており、それらのカテゴリに投稿記事をそれぞれ書き込めるようにしております。部署ごとにカテゴリに分ける会社仕様に作っております。そのカテゴリページ全てのurlを調べたほうがいいということでしょうか?
よろしくお願い致します。
すみません、自分が書いたコードは試してもらえましたか??
試してどうなるか確認しましたか?
自分でこうかな?と思うコードは試したものなんですか?
<dd>
<?php
$cat = get_the_category(); $cat = $cat[0]; echo 'category_nicename . '">';
echo $cat->cat_name;
echo '';
?>
</dd>
これだと、カテゴリー”>カテゴリー とかになりませんかね。
get_bloginfo(‘url’) は自サイトのurlを出力する呪文です。
bloginfo() で調べてもらえればすぐ分かります。
WordPressにはパーマリンク設定というものがあります。
いろんなサイトに設定がそれぞれあるわけですね。
AってカテゴリーのURLを、管理者が都合に応じて、
- http://example.com/category/A/
- http://example.com/A/
- http://example.com/?cat=A
色々と設定が出来るわけです。
その設定に応じて、リンクのURLを変更しないといけませんよねって話です。
カテゴリーが何個あるとか、部署ごとに使い分けるかどうかは無関係です。
横からスイマセン。
get_category_link を使えば、パーマリンク設定に依存しないカテゴリーアーカイブへリンクが取得できますよ。
CodexではカテゴリーIDを引数としていますが、オブジェクトを渡すことも可能です。
$cat = get_the_category();
$cat = $cat[0];
echo '<a href="'.get_category_link($cat).'">' . esc_html($cat->name) . '</a>';
※HTMLやPHPのコードを投稿するときは、コード部分を「code」ボタンを押して 逆クォート
で囲ってください。
szさん、gatespaceさんご返信ありがとうございます。
szさん、
<?php
$title = get_the_title( ); //タイトル取得
$cat = get_the_category();//カテゴリー取得
$cat = $cat[0];
//リンク作成
echo '<a href="' . get_bloginfo('url') . '/category/' . $cat->category_nicename . '">';
echo $title;
echo '</a>';
?>
を試してみたのですが、記事タイトルはしっかりあらわれてくれるのですが、クリックしても記事本文へジャンプができません。また、カテゴリページのurlを調べて、その次にどうすればいいのかがわかりません。そこを教えていただけたらと思います。
gatespaceさん、
コードを試してみたら、かなりいい感じにはなりましたが、表示が記事タイトルではなくカテゴリの名前が表示されるようになってしまいました。自分としては、記事タイトルをトップページに表示したいと考えていたので、どのように書き換えればいいか教えてください。カテゴリページへのジャンプは見事に成功しました。
ご自分で試したというコードと、私の提示したコードを見比べて、
成功している部分を組み合わせれば良いんじゃないですかね?
ご返信ありがとうございます。
たぶん
echo '<a href="'.get_category_link($cat).'">' . esc_html($cat->name) . '</a>';
を書き換えればいけるのではと思ったのですが、思いつくことをやってはみたのですが、どうしても投稿記事のタイトルに変化しません。よろしければ教えていただけたらと思います。大変申し訳ありません。あと一歩な気がするのですが・・・
szさん、gatespaceさん、できました!
こんなことですが、自分にとってはすごく嬉しいです。わかりやすく説明していただき本当にありがとうございました。また一つ進歩できた気がします。お忙しい中ありがとうございました。