カスタムメニューにカテゴリーを作るには?
-
固定ページに一覧を表示?
・・・カテゴリーアーカイブではダメなのでしょうか?それからh-pine-hさんがインストールされているWordPressのバージョンなどがわからないとヒントになるような回答が出てこないので、
問題解決のチェックリストを見ていただいて環境周りなども併記してください。WordPress のバージョン 3.5.1
使用しているプラグインとテーマの情報:テーマはオリジナルです
PHP、MySQL のバージョン
サーバー環境(ホスティングサービス名、OS、ウェブサーバー等):lolipop例えばコーポレートサイトを作る際、トップにカスタムメニューで作った「お知らせ」などを表示し、そのお知らせの中の投稿記事をカテゴリーわけして、「商品情報」等のカテゴリーの記事だけ、別の固定ページに一覧で表示したいというようような意味です。
まず今は自分が作成したカスタムメニューにカテゴリーがない状態ですので、カテゴリーを作りたいのですが、検索してもうまく出てきません。
単純に投稿に「お知らせ」というカテゴリーがあってその子カテゴリーとして「商品情報」などがある。
と言うのではダメなんですかね。トップ(フロント)ページは「お知らせ」カテゴリーに属する記事を指定した件数表示すればいい訳なので、わざわざカスタムメニューを使う意味が分かりません。
他にblogのページがあっても
blogが何を指しているのか全く分かりません。
投稿のカテゴリをこういう感じにするのはダメなんですか?
・お知らせ
├商品情報
└その他の(とか)
・blog
├blogの子カテゴリ1
└blogの子カテゴリ2そもそも、なんでカスタムメニューじゃないといけないのですか?
「カスタムメニュー」じゃなくて「カスタム投稿タイプ」の間違いではないですか?
いろんなご意見がありますが、現在作成したサイトが
ありまして、グローバルナビに「ニュース」や
「blog」の項目があり、トップにニュースの一覧が
表示されている状態です。「ニュース」はカスタムメニューで
作りました。
知識があまりないのですが、カスタムメニューにカテゴリをつけることはできないのでしょうか?
(現在作成したサイトは事情あってお見せすることができません。)カスタムメニューというのは「外観 > メニュー」から作るカスタムメニューですよね?
それだと単にメニューだけしか作られない(ニュースという投稿が存在しない)と思うのですが…。
「ニュース」というのがカスタム投稿タイプでつくったものだとしたら、それにカテゴリをつけることはできます。
http://memocarilog.info/wordpress/theme-custom/3134今自分が参考にしたサイトを見ましたら、カスタム投稿タイプで作ったようでした。
勘違いしていて申し訳ございません。まずはリンク先を見てみます。
ありがとうございました。カスタムタクソノミーを作成することまではできました。あとはカテゴリ分けしたものをそれぞれページに一覧したいのですが、いくつかのサイトを参考にして以下のようなソースを書きました。あるページにリンクをはりましたが真っ白で表示されません。
PHPがわからないのでめちゃくちゃかもしれませんが、どうすれば表示されるのかご教示ください。
ページ名:taxonomy-news-recommend.php
カスタム投稿名:news
タクソノミー:recommend
<?php get_header(); ?>
<h2><?php single_term_title(); ?></h2>
<?php query_posts( ‘recommend’ ); ?>
<?php if(have_posts()) : while (have_posts()) : the_post(); ?><div class=”recomend-box”>
<dl>
<dt>“><?php the_post_thumbnail(‘thumbnail’); ?></dt>
<dd>“><?php the_title(); ?></dd>
</dl>
</div><?php endwhile; else: ?>
<p>該当する記事はありません</p>
<?php endif; ?>
<?php get_footer(); ?>別のページを参考にして以下のようなソースに変えてみてもやはり真っ白です。
<?php get_header(); ?><?php
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query(‘post_type=recommends’ . ‘&paged=’ . $paged . ‘&posts_per_page=10’);
?>
<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
<article>
<header>
<h1>“><?php the_title(); ?></h1>
<time datetime=”<?php the_time(‘c’); ?>” pubdate=”pubdate”><?php the_time(‘Y.m.d’); ?></time>
</header>
<?php the_content(); ?>
</article>
<?php endwhile; ?><nav class=”pagenav”>
<span><?php previous_posts_link(); ?></span>
<span><?php next_posts_link(); ?></span>
</nav>
<?php $wp_query = null; $wp_query = $temp; ?><?php get_footer(); ?>
やはり真っ白です。
画面が真っ白になるということは、PHPの実行時エラーが起きていると思いますので wp-config.php の WP_DEBUG の項目を以下のように設定してみて下さい(テスト環境で)
define('WP_DEBUG', true);
これでどのようなエラーが発生してしているのか、表示されているので先ずはコードのどの部分でどのようなエラーが発生しているのかを確認して、エラーメッセージ等で検索されてみてください。
すみません!真っ白なのは解消されました。
しかし、各ソースを試してみると、blogの方で書いた記事のタイトルが表示されてしまいます。カスタム投稿の方の記事が表示されません。taxonomy-news-recommend.php
にコードを書いているのであれば、自動的にカスタムタクソノミー「news-recommend」が設定された記事が取得されるので query_posts() や new WP_Query() でクエリを上書きする必要はないのではと思います。
それが原因かはわかりませんが、一度消して試してみると良いかもです。
- トピック「カスタムメニューにカテゴリーを作るには?」には新たに返信することはできません。