ショウジンブログ

Learn as if you will live forever, Live as if you will die tomorrow.

WordPressカスタマイズ

固定ページの内容を任意のページに表示する@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は閲覧数を保持するためのカスタムフィールドを用意して、そこにトータルの閲覧数を保持していくだけなので日や…

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

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

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

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

改行文字を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向けの内容 */ …

カスタム投稿タイプやカスタム分類のfeed URLを取得する@WordPress

WordPressにカスタム投稿タイプを追加し、指定した投稿タイプの投稿や更に絞って指定した投稿タイプのカスタム分類(カスタムタクソノミー)投稿のfeed URLを取得します。 今回の用途としてはFacebookページへ流す(プラグインRSS Graffitiを使用)ためだけ…

同じカテゴリの記事一覧を表示@WordPress

single.phpで「投稿」を表示しているときに本文末尾やサイドバー部分で、その投稿と同じカテゴリに属する記事一覧を表示する例です。 ・表示している記事と同一のカテゴリを指定 ・表示する件数を指定 これで実装。 が、これだけだと表示している記事も含ま…

新着記事一覧を表示@WordPress

投稿(single.php)に「新着記事一覧」を表示する例。 ・時系列で降順(新しいものから古いものへ表示) ・表示する件数を指定 ・表示している記事は対象から除外 で実装。 *サムネイル画像はアイキャッチ画像を利用。 single.phpの表示させたい場所に以下…

Contact Form 7で確認用メールアドレスを使用可能にする@WordPress

WordPressのプラグイン「Contact Form 7」ではお問い合わせ用メールフォームでよくある「確認用メールアドレス」の項目が、デフォルトでは利用できません。 これを利用可能にします。 使用しているテーマのディレクトリ内にある(ない場合は新規に用意する)…

複数のカスタム投稿をホームで一覧表示@WordPress

いわゆるブログ的な更新コンテンツをひとつのWordPressサイト内に複数持たせ、それらの投稿一覧をホーム(トップページ)で表示させる例。 投稿一覧はすべてをひっくるめて一覧表示というやり方もあるけど、今回はそれぞれのブログコンテンツごとに分けて表…

インストールしたディレクトリURLではなくドキュメントルートのURLで運用する@WordPress

WordPressをWebドキュメントルート(例:example.com/)ではなく、下層ディレクトリ(例:example.com/wp)にインストールし、実際にこのWordPressサイトへのブラウザアクセスはドキュメントルートのURLで運用したい場合の設定をメモ。 詳しくはCodexのここ…