ショウジンブログ on Hatena

“お芝居をしないと、この社会では異邦人として扱われるほかない”

WordPress

カテゴリの選択を1つだけに制限@WordPress

WordPressではカテゴリーは複数選択できますが、逆にそのことで不具合が起きることもあります。(とくにクライアントさん側で運用していただく場合とか) そういう場合には、以下のコードを使用しているテーマのfunctions.phpに追加することで、カテゴリ選択…

投稿数の多いカテゴリー(タグ)の一覧を件数を指定して出力

投稿数を判別して投稿数の多いものから降順にカテゴリーの一覧を表示する例です。 <ul class="dropdown"> </ul>

固定ページにおいてデフォルトの投稿エリアを削除する@WordPress

固定ページの本文を入力するテキストエリアを削除する例です。 どんなときに必要かというと、たとえば定型の情報をカスタムフィールドなんかで用意していて、そこだけを使う場合はフリーテキスト用の本文入力エリアが不要だったりします。 納品後、クライア…

複数のカスタム投稿及びカスタム分類を指定してひとつのループで出力@WordPress

異なるカスタム投稿、カスタム分類を複数指定して同じループにまとめて出力する例です。 配列のpost_typeで投稿タイプを指定。(複数の場合にはカンマ区切りで) tax_queryでrelationはORを指定し、taxonomy、field、termsでカスタム分類を指定しています。 …

カテゴリーリストを出力@WordPress

wp_list_categories関数を使う際の参考に、整理しました。 そのまま(オプションを指定せずに)使用する場合。 <ul class="list_categories"> </ul> 出力されるソースは以下になります。 <ul class="list_categories"> <li class="categories">カテゴリー<ul> <li class="cat-item cat-item-1"></li></ul></li></ul>

投稿数の多いカテゴリを件数を指定して出力@WordPress

WordPressのカテゴリで、投稿数の多い順にソートしてリスト表示する例です。 親カテゴリ、小カテゴリ、どちらも出力しています。HTMLの階層構造もそれに合わせて。 出力しているHTMLはこのように <h2>投稿数の多いカテゴリ上位5件</h2> <ul class="list_categories"> <li><a href="http://wp.showzine.co/category/news/">お知らせ</a> (3) <ul class='children'> <li></li></ul></li></ul>

タグの有無を判別する条件文@WordPress

WordPressでは、カテゴリは何かしら必須で割り当てられますが(デフォルトだと未分類が)、タグは任意です。 投稿によってはタグがある場合、ない場合もあるかもしれません。(必ずつけるという運用ルールでカバーするのもひとつですが) 以下のコードはタグ…

カテゴリの説明文を出力@WordPress

WordPressのカテゴリには説明文をつけることが出来ます。 テンプレートが「category.php」の場合に使えるコードは以前にこちらに投稿しています。 blog.showzine.co category.php以外のテンプレート以外でこれを実現したい場合には以下のコードを使います。 …

カテゴリ名やカテゴリスラッグ等をループ外で出力@WordPress

関数geg_the_category()を使って変数$categoryにカテゴリの値を代入します。 あとは変数$categoryを使って配列を指定してカテゴリIDやカテゴリ名、カテゴリスラッグを指定してその値を変数に代入。 これをechoして出力。 cat_ID; // カテゴリIDを変数$cat_id…

固定ページの内容を任意のページに表示する@WordPress

WordPressの固定ページの内容を別のページに表示したい場合がたまにあります。 その場合には、まずそのための固定ページを作成し、編集エリアに内容を入力します。 このとき、この固定ページのIDを控えておきます。 ページIDは編集画面を開いているときのブ…

パーマリンク設定の例@WordPress

WordPressのパーマリンク設定はいろいろな形式を選ぶことができます。 デフォルトでは WordPressサイトURL/?p=123 という「?」からはじまるIDになりますが、検索エンジンにより理解、評価してもらうには記事中のキーワードを含む等、意味をもたせたほうがい…

アイキャッチ画像にデフォルト画像を登録@WordPress

デザイン上の縛りで高さを揃える必要があるとか、うっかりアイキャッチ画像を登録するのを忘れても大丈夫なように デフォルトの画像を登録する例です。 kachibito.net この設定をしたあとから有効になりますので注意してください。 (新規投稿画面でアイキャ…

ループの中に任意の要素を差し込む@WordPress

以下のキャプチャ画像にあるように、赤ベタのブロックをWordPressのループの中に差し込みたい。 ループの中に単純にこの赤ベタのhtmlソースを入れるとループごと(一件ごと)に出力されてしまうので、それではダメ。 一度だけで、何番目かに差し込みたい。 …

アイキャッチ画像のサイズを複数設定する@WordPress

WordPressのアイキャッチ画像(the_post_thumbnail)を異なるサイズで複数設定する実装例です。 たとえば、同一のページ(ホームとかカテゴリ一覧とか)内において異なるサイズ指定(アイキャッチ画像)をする必要があるデザインの場合、それ用に各々特定の…

同じカテゴリの投稿を表示させる@WordPress

表示している投稿と同じカテゴリに属する他の投稿を表示させる。 表示している記事は除いてランダムに。ランダムである必要がなければ orderby=RAND()は不要。 当該記事の除外はexludeで記事IDを指定。 下記のコード例ではアイキャッチ画像のあるなしを判別…

投稿の編集画面へのリンクを設定する@WordPress

WordPressサイトにログインしている状態で投稿の一覧から特定の投稿の編集画面へすぐに進みたい時に使えるTipsです。 投稿や固定ページそのものであれば、それをブラウザで表示している時にアドミンバー(ログイン中にWordPressサイトを開いていると上部に出…

タイトルの長さを指定して丸める@WordPress

文字数の上限を設定しておかないと崩れるデザインの場合、重宝してます。 私自身がデザインまでするときはそのへんは「なりゆき」(文字量によって可変で対応できるよう)にするのですが、他のデザイナーさんがキッチリと固まったデザイン(紙媒体のデザイン…

WP_Queryループで抽出条件を指定@WordPress

WordPressのループでカテゴリを指定する例です。 WP_Query()です。 サブループなのでループごとにリセットの記述をしておけば同一ページで複数の異なるループ(カテゴリごとに分けてとか)を出力出来ます。 6, // 表示件数 'post_type' => 'post', /* イベ…

人気の記事を表示(閲覧数で抽出、ソート)WordPress

1. プラグインのWordPress Popular Postsを使う2. プラグインのWP-PostViewsを使う一番大きな違いは1の場合は期間を指定してソート出来ること。2は閲覧数を保持するためのカスタムフィールドを用意して、そこにトータルの閲覧数を保持していくだけなので日や…

IDのauto_incrementの値を初期化する@MySQL

例えば、WordPressで作ったサイトで誤って登録したユーザーを削除すると、そのユーザーIDはそのままで、以降登録したユーザーのIDはその次(削除ユーザーの)からの連番になってしまいます。 idが1、2、3と登録されていて、たとえば3のユーザーを削除すると…

デフォルトの編集エリアを非表示@WordPress

WordPressの投稿や固定ページの編集エリアを非表示にする方法です。 functions.phpにアクションフックを使って設定します。 サイトによってはこの部分が不要で、追加したカスタムフィールドの内容だけで十分という場合があります。その場合、クライアントさ…

管理画面で他者の投稿を見せない@WordPress

WordPressにおいて、通常、投稿者や寄稿者(の権限グループに属する)ユーザーは他者の投稿を編集、削除することは出来ません。 ですが、その存在を投稿済みの一覧から確認することは出来ます。 これだと自分の投稿の中から特定の投稿を探したいときに探す手…

全てのカテゴリを取得して一覧表示@WordPress

投稿用テンプレートのsingle.phpの下部にカテゴリ一覧を設置する例です。 'order', 'order' => 'ASC', 'exclude' => '1' // 「未設定」カテゴリを除外 ); $cat_all = get_categories($args); foreach($cat_all as $value): ?> <a href="<?php echo get_category_link($value); /* カテゴリへのリンク */ ?>">na…</a>

改行文字をbrに置換、そしてサニタイズする@WordPress

カスタムフィールドで用意したフィールドで、html要素はエスケープ(サニタイズして無害化)、改行は改行文字をbr要素に置換して出力したいという状況に遭ったのですが、nl2br(PHPの関数)とesc_html(WordPressの関数)の併用で簡単に出来ました。

カスタムフィールドの値が同じユーザをカウントする@WordPress

ユーザ情報にカスタムフィールドを追加し、カスタムフィールドで同じ値を持つユーザ数をカウントする例です。カスタムフィールドはACF(Advanced Custom Field)ではなく、日本語の解説記事はまだ多くないTypesを使っています。

管理画面に独自のjsやcssを読み込む@WordPress

WordPressに独自のjsやcssを読み込む場合、テーマのfunctions.phpに以下を記述します。例ではログインユーザが「購読者 = subscriber」の権限グループに属している場合に読み込まれます。例えば、購読者グループのユーザには隠したいメニューがあったり、デ…

デフォルトのカテゴリ説明文をカテゴリページに出力する@WordPress

WordPressのデフォルトのカテゴリーにはカテゴリーの名前、スラッグ、親子関係の他に「説明」というフィールドがあります。これを出力するのには場所(テンプレート)によって記述が変わってくるのですが、WordPressのデフォルトテンプレートのTwenty Fourte…

親カテゴリは出力せずに子カテゴリ名だけ出力する@WordPress

親カテゴリ名は表示せず、子カテゴリ名だけを出力する例です。テンプレートはcategory.phpです。親カテゴリ名は必要とせず、子カテゴリ名の「現場名」だけを表示させたいと。実際にあった依頼です。

デフォルトのカテゴリ説明文を固定ページに出力する@WordPress

WordPressのデフォルトのカテゴリに設定できる「説明」について、category.phpでの出力例は別の投稿に残しましたが、これはcategory.phpでないと使えません。本投稿は固定ページで使う場合です。

スマートフォン向けに表示内容を出し分ける@WordPress

WordPressにはバージョンが3.4から用意されている「wp_is_mobile」っていう関数があって、これを使えば簡単、お手軽にPC向け、スマフォ(スマートデバイス)向けにコンテンツの出し分けが出来ます。 /* スマートフォン向けの内容 */ /* PC向けの内容 */ …