WordPress

WordPress

【WordPress】jQueryを読み込む方法|子テーマ対応とfilemtime()でのキャッシュ管理

WordPressでjQueryと、それに依存するカスタムスクリプトを正しく読み込む方法を解説します。get_template_directory_uri()による子テーマ非対応の罠と、バージョン引数にnullを渡すとキャッシュが更新されない問題まで紹介します。
WordPress

【WordPress】カテゴリーやタグのセレクトボックスを使って記事を絞り込む方法|tag_idで正しく動作させる

WordPressでカテゴリーやタグをセレクトボックス形式で表示し、記事を絞り込む方法を解説します。タグの絞り込みにはtagでなくtag_idパラメータを使う必要がある注意点まで、正しく動作する実装方法を紹介します。
WordPress

【WordPress】wp_is_mobileで簡単にPCとスマホの表示を切り替える方法|ページキャッシュとの相性に注意

WordPress標準のwp_is_mobile()でPCとスマホの表示を切り替える方法を解説します。基本的な使い方に加えて、ページキャッシュ環境では意図した端末に正しく表示されない場合がある重要な注意点まで紹介します。
WordPress

【WordPress】タイトル・本文・抜粋の文字数を制限する方法|is_singular()除外が必須

WordPressでタイトル・本文・抜粋の文字数を制限する方法を解説します。the_title/the_contentフィルターへの無条件適用は個別記事ページ自体を壊してしまうため、is_singular()での除外と、より安全なテンプレート側での実装方法を紹介します。
WordPress

【WordPress】head内・bodyタグ直後・直前にコードを挿入する方法|wp_body_openも解説

WordPressでhead内やbodyタグの前後にコードを挿入する方法を解説します。wp_head・wp_footerに加えて、Google Tag Manager設置などで頻出するbodyタグ直後への挿入に使うwp_body_open(Cocoonでも利用可能)まで紹介します。
WordPress

【WordPress】プラグイン無しで独自の404ページを作成する方法|子テーマで安全にカスタマイズ

WordPressでプラグインを使わずに独自の404エラーページを作成する方法を解説します。親テーマを直接編集せず子テーマに404.phpを作成する安全な方法と、デザインのカスタマイズまで紹介します。
WordPress

【WordPress】サイト内検索を自作する方法|検索フォーム・結果ページ・検索対象の拡張

WordPressでカスタム検索フォームと検索結果ページを自作する方法を解説します。検索対象の投稿タイプを広げる正しい方法から、カスタムフィールドも検索対象にしたい場合の注意点まで紹介します。
WordPress

【WordPress】プラグインなしで人気記事ランキングを表示する方法|Ajaxでキャッシュ環境でも正確にカウント

WordPressでプラグインを使わずに人気記事ランキングを表示する方法を解説します。wp_headでの直接カウントはページキャッシュ環境で機能しないため、Ajax経由でキャッシュ環境でも正確にカウントする実装方法を紹介します。
WordPress

【WordPress】プラグインなしで関連記事を表示する方法|transientキャッシュでorderby=randの負荷を軽減

WordPressでプラグインを使わずに関連記事を表示する方法を解説します。orderby=randによる負荷の問題と、transientキャッシュやPHP側shuffle()による負荷軽減の実装方法まで紹介します。
WordPress

【WordPress】カスタム投稿のシングルページを生成しない方法|publicly_queryableが正解

WordPressでカスタム投稿タイプのシングルページを生成しない方法を解説します。has_archiveやリダイレクトでは実は解決できないため、publicly_queryableを使った確実な方法と、正しい404の返し方を紹介します。
WordPress

【WordPress】検索キーワードを強調表示する方法|複数単語対応・esc_attr()の罠に注意

WordPressの検索結果ページで、検索キーワードを自動的に強調表示(ハイライト)する方法を解説します。get_search_query()が既定でエスケープ済みの文字列を返す罠と、複数単語の検索語に対応する正しい実装方法を紹介します。
WordPress

【WordPress】現在のURLを取得してドメインごとに処理を切り替える方法|$_SERVER[‘HTTP_HOST’]とwp_get_environment_type()

WordPressで現在のURLを取得し、アクセスされたドメインに応じて処理を切り替える方法を解説します。home_url()を使った方法は実は固定の設定値しか返せないため、$_SERVER['HTTP_HOST']や環境判定の標準関数wp_get_environment_type()を使った正しい実装を紹介します。
WordPress

【WordPress】投稿画面が固定ページかどうか判定する方法|正しいフックの使い方

WordPressの管理画面で、現在の投稿編集画面が固定ページかどうかを判定する方法を解説します。get_current_screen()を使った推奨方法から、各フックの発火タイミングに応じた正しい実装例まで紹介します。
WordPress

【WordPress】固定ページの編集権限を特定のユーザーに制限する方法(プラグインなし)|map_meta_capで確実に制限

WordPressで特定の固定ページを特定のユーザーにのみ編集させる方法を解説します。user_has_capフィルターでedit_postを直接書き換える方法は実は機能しないため、map_meta_capフィルターを使った確実に動作する実装方法を紹介します。
WordPress

【WordPress】管理画面のメニューから固定ページを非表示にする方法|本当に制限する方法も解説

WordPressで管理者以外のユーザーから固定ページの編集メニューを隠す方法を解説します。remove_menu_page()はメニューを隠すだけで実際の編集は防げないため、権限(Capability)そのものを無効化する本当の制限方法まで紹介します。
WordPress

【WordPress】管理者にのみ管理バーを表示する方法|個人のツールバー設定を尊重する実装

WordPressで管理者にのみ管理バー(ツールバー)を表示する方法を解説します。管理者本人がプロフィールでツールバー表示をOFFにしている場合の個人設定を尊重する実装と、よりシンプルな1行版との使い分けを紹介します。
WordPress

【WordPress】タイトルの入力チェックを実装する方法|wp_insert_post_dataで確実にサーバー側検証

WordPressで投稿タイトルの文字数チェックを実装する方法を解説します。JavaScriptだけの検証は迂回されたり、間違ったフックで実行すらされなかったりするため、wp_insert_post_dataフィルターを使った確実なサーバー側検証の実装方法を紹介します。
WordPress

【WordPress】リビジョン(履歴)保存回数を制限・無効化する方法|既存リビジョンの削除とバックアップ

WordPressのリビジョン(編集履歴)保存回数を制限・無効化する方法を解説します。wp-config.phpでの設定変更に加えて、既にデータベースに溜まった過去のリビジョンを安全に削除する手順まで紹介します。
WordPress

【WordPress】記事一覧のループでログインユーザー以外にパスワード保護された投稿を非表示にする方法|is_singular()の除外必須

WordPressの記事一覧から、ログインしていない訪問者にはパスワード保護された投稿を非表示にする方法を解説します。pre_get_postsとhas_passwordパラメータを使った実装と、個別ページへの直接アクセスまで巻き込んで404にしてしまわないための重要な条件分岐を紹介します。
WordPress

【WordPress】特定のカテゴリを除外した記事一覧を表示する方法|tax_queryでスラッグ指定

WordPressで特定のカテゴリーをスラッグ指定で除外して記事一覧を表示する方法を解説します。tax_queryのoperatorにNOT INを指定する正しい実装と、IDが分かっている場合の使い分けまで紹介します。