Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › 任意の固定ページにカテゴリーを一覧(全部)表示するには
- このトピックには10件の返信、1人の参加者があり、最後に
インパラにより10年、 5ヶ月前に更新されました。
-
投稿者投稿
-
-
2016年4月6日 6:09 PM #38746
インパラ
ゲストちょっとした内容でもわけわからなくなってきました。
質問です。
任意の固定ページにカテゴリーを一覧(全部)表示するにはどうしたらいいのでしょうか?
例えば、グローバルナビで「カテゴリー一覧」という項目を作ります。そのページにいくとカテゴリーが並ん
でいるような感じです。同じようにタグ一覧も作りたいです。
もう一つ、フロントページは最新の投稿が一覧で表示するようにしていますがこのページ自体を少しカスタム
したいのですが可能ですか?
今回もよろしくお願い致します。
-
2016年4月6日 9:39 PM #38761
Hidekichi
ゲストカテゴリーならサイドバー・フッター、その他諸々にウィジェットで全部出せますが、固定ページでカテゴリーをだす目的はどういう感じでしょうか?
グローバルナビで作るなら、階層化してそれぞれのカテゴリーをサブメニューにするのはダメな感じですかね?
タグ一覧はタグクラウドもありますし…
どうしてもという場合は、ショートコードで一覧が出せるような仕組みにするのが簡単でしょうか。
-
2016年4月6日 11:05 PM #38765
まさひこ
ゲストPSAUTOSITEMAPで「カテゴリーと投稿の表示」を「投稿を分割」に設定すれば、ご希望のページを作成できるかと思います。Simplicityまったく関係なくなってますが。
http://wordpress.siyouyo.com/plugin/2850/
フロントページについては、テーマのカスタマイザーの「レイアウト(全体・リスト)」で設定できる内容では駄目なのでしょうか。
-
2016年4月8日 4:49 AM #38846
インパラ
ゲスト返信ありがとうございます。
「固定ページでカテゴリーをだす目的は」→理由は単にカテゴリー数が多い(20~25くらい)ので表示できたらな
と思いまして‥
「グローバルナビで作るなら、階層化してそれぞれのカテゴリーをサブメニュー」も考えたのですがやはり数が多
すぎるのでなんか変な感じかなと。
ページにリストタグで2、3列に表示するにはどんな風にしたらよいのでしょうか?
あと、タグに投稿数を付けたりするのは可能ですか?←これもページにリストタグで2、3列に表示‥
出来たらと思いまして。
良かったらよい方法をお願いします。
-
2016年4月8日 4:06 PM #38855
Hidekichi
ゲストfunction test($attr) { extract(shortcode_atts(array( 'type' => 'cat' ), $attr)); /* terms_return_value term_id int ID name string 名前 slug string スラッグ term_group int グループID term_taxonomy_id int タクソノミーID taxonomy string タクソノミー名 description string 説明 parent int 親タクソノミーのID。親タクソノミーがない場合は0となる count int 投稿数 */ $out = ""; $out .= $type; $out .= "<ul>"; switch($type){ case "cat": $cats = get_terms( 'category', 'get=all' ); foreach($cats as $cat){ $out .= "<li><a href='". get_category_link( $cat->term_id ) ."'>". $cat->name ."</a></li>"; } break; case "tag": $tags = get_tags(); foreach($tags as $tag){ $out .= "<li><a href='". get_tag_link( $tag->term_id ) ."'>". $tag->name ."</a></li>"; } break; default: $dat = get_terms( 'category', 'get=all' ); foreach($dat as $dt){ $out .= "<li><a href='". get_category_link( $dt->term_id ) ."'>". $dt->name ."</a></li>"; } } $out .= "</ul>"; return $out; } add_shortcode('getterm', 'test');例えばこういうのを子テーマfunctions.phpに追記します。
で、固定ページで、[getterm type="cat"]
とすると、カテゴリー一覧がulのリストで出力されます。任意のclassとか付けたい場合は、中に書いても良いんだろうと思いますが、
<div class="test"> [getterm type="cat"] </div>とかでも動作します。この場合は、
.test ul { display: flex; flex-flow: row wrap; justify-content: space-between; border: 1px solid #ddd; } .test ul li { list-style: none; margin: 5px; }などでスタイルできます。
[getterm type="tag"]とすればタグも出せます。
[getterm]
だけの場合、あるいは、type等に不備がある場合デフォルトでカテゴリーが出るようになってます。カウントについては、カテゴリもタグもどちらもカウントがありますから、
$cat->cout
$tag->count
で数値が取得できるので、foreachの中のliの部分で、[リンク]カテゴリ・タグ名[/リンク](ここ)などとしてカウントを入れれば表示できます。カテゴリーの取得の方はどういった値が拾えるのかをコメントで書いてありますのでそれらは他と同じように、$cat->何々 で拾えます。タグの方は、get_tags | wordpress私的マニュアルの返り値等を参考にしてみて下さい。get_terms( ‘category’, ‘get=all’ );
get_tags();等は予めどういった内容を取得するかをwordpress私的マニュアルの解説ページの$argsの部分で指定することもできます。つまり降順・昇順であったり、取得したくないタクソノミーのIDであったり。これらの操作自体は特に解説しませんが、wordpressの仕様に準拠しています。
後は、まぁ適当にイジってみて下さい(笑)
わいひらさんの修正があるまでは、クォートやらがコード化していると思いますが、それまでしばしお待ちください。
-
2016年4月8日 6:13 PM #38857
インパラ
ゲスト返信ありがとうございます。
初心者なので説明を理解するのに時間がかかっております‥
まず子テーマfunctions.phpに追記して固定ページに[getterm type=”cat”]をすると
Parse error: syntax error, unexpected ‘)’ in C:\pleiades\xampp\htdocs\wordpress\wp-content\themes\simplicity2-child\functions.php on line 30
このようなエラー文がでます。[getterm type=”cat”]は固定ページの編集画面でいいのですか?
なにか勘違いしてたらすいません。
-
2016年4月8日 8:08 PM #38861
Hidekichi
ゲストサンプル: functions.phpの関数部分 | jsFiddle
おそらくパースエラーとシンタックスエラーなので、コピペなどして修正しきれずコード化したままになってる箇所があってエラーになってるかと思います。
※ サンプルのjsFiddleでは実行しても何も起こりません。コード表示だけのものです。
※ サンプルはjavascript欄に書いてありますが説明通り子テーマfunctions.phpに追記ですショートコードなので固定ページもそれ以外にも使えます。ウィジェットで行けるかは試してません。ウィジェットはムリかも。けどなにかしらやり方はあったと思います。
-
2016年4月9日 9:53 PM #38907
インパラ
ゲスト出来ました!
時間はかかりましたが‥
エラーが出てたのも言われた通りでした。
カウント数も無事表示できました。
それとショートコードで表示したとき「tag」「cat」←これはどこをさわればいいのでしょうか?
無表示、もしくは変更するとき‥分かりませんでした。
-
2016年4月9日 10:25 PM #38909
Hidekichi
ゲスト> 「tag」「cat」←これはどこをさわればいいのでしょうか?
$out .= $type;
部分です。一応確認用に入れましたが、例えば
($type == "tag") ? "タグ" : "カテゴリ"; $out .= "[h2]" . $type . "[/h2];※ []は半角〈〉です。クォートはシングルなりダブルなりに変換して下さい
などとしたら、見出しができる感じです。見出し部分は、例えば、
必要なければ、$out .= $type;を削除して、
[h2]タグ一覧[/h2] [getterm type="tag"]こんなふうにしても良いですね。
-
2016年4月9日 10:27 PM #38910
Hidekichi
ゲストあ、最後閉じが抜けてたかな。
$out .= “[h2]” . $type . “[/h2]”;こんな感じです。
-
2016年4月10日 12:52 AM #38915
インパラ
ゲスト無事できました!
ありがとうございます
-
-
投稿者投稿
- トピック「任意の固定ページにカテゴリーを一覧(全部)表示するには」には新しい返信をつけることはできません。