WordPress

WordPress

【WordPress】記事一覧でログインユーザーにだけ表示される項目を追加する方法

会員限定コンテンツや社内向けサイトで、記事一覧のループ内でログインユーザーにだけカスタムフィールドの内容などを表示する方法を解説します。ページキャッシュ環境(WP Super Cache等)で意図しない表示になる注意点と対策もあわせて紹介します。
WordPress

【Contact Form 7】ユーザーの入力内容を一部加工して送信する方法

Contact Form 7のwpcf7_posted_dataフィルターを使い、送信前にユーザーの入力内容を加工する方法を解説します。敬称の追加・改行や空白の除去・特定文字列の置換といった実装例に加え、このフィルターがバリデーションより前に実行されるという実務上重要なタイミングも紹介します。
WordPress

【WordPress】管理画面に独自のフィルター機能を追加する方法(カテゴリー・カスタムフィールド対応)

restrict_manage_postsアクションとpre_get_postsフィルターを使い、WordPress管理画面の投稿一覧にカテゴリーやカスタムフィールドで絞り込む独自フィルターを追加する方法を解説します。他のクエリに影響を与えないためのis_main_query()チェックもあわせて紹介します。
WordPress

【WordPress】管理画面の投稿一覧にカスタムフィールドの値を表示する方法

manage_posts_columnsフィルターとmanage_posts_custom_columnアクションを使い、WordPress管理画面の投稿一覧にカスタムフィールドの値を表示するカラムを追加する方法を解説します。カスタム投稿タイプへの応用や、未設定時の表示処理もあわせて紹介します。
WordPress

【WordPress】アップロード上限を変更する方法

WordPressでファイルのアップロード上限を変更する方法を、.htaccess・php.ini・レンタルサーバーの管理画面・プラグインなど環境別に解説します。php_valueをPHP-FPM環境で使うと500エラーになる注意点や、functions.php/wp-config.phpでは変更できない設定項目があることもあわせて紹介します。
WordPress

【WordPress】トップに表示するかどうかをチェックボックスで切り替える方法

投稿編集画面にチェックボックスを追加し、チェックが入った投稿だけをトップページに表示する方法を解説します。既存サイトに導入する際にトップページの投稿が一斉に消えてしまう落とし穴や、保存処理に必要な権限チェックもあわせて紹介します。
WordPress

【WordPress】プラグインなしで特定ユーザーのみ投稿を編集可能にする方法

WordPressのuser_has_capフィルターを使い、プラグインなしで特定のユーザーIDだけが投稿を編集できるように制限する方法を解説します。ユーザーIDの調べ方や、複数ユーザー・投稿タイプ別・ロールベースへの応用など、運用時の注意点もあわせて紹介します。
WordPress

【WordPress】カスタムフィールドを含む複数の条件でソートをする方法

WordPressでカスタムフィールドを含む複数の条件を組み合わせて投稿をソートする方法を解説します。複数のカスタムフィールドを同時に条件にする際はmeta_queryの各節に名前を付けてorderbyで参照する必要があるという見落としがちなポイントや、特定の値を優先して表示するソート、pre_get_postsによる既存クエリのカスタマイズ方法まで紹介します。
WordPress

【WordPress】検索結果から遷移後に検索条件を保持して戻る方法

WordPressの検索結果ページから詳細ページに遷移したあと、検索条件を保持したまま検索結果ページに戻る方法を3通り解説します。クエリパラメータ・セッションストレージ・the_permalinkフィルターそれぞれの実装と、カテゴリ選択が復元されない・URLが壊れるといった見落としがちな落とし穴もあわせて紹介します。
WordPress

【WordPress】RSSフィードの投稿者名を非表示にする方法

WordPressのRSSフィードに表示される投稿者名(dc:creatorタグ)を、コアファイルを一切編集せずにthe_authorフィルターだけで非表示にする方法を解説します。コアファイル(feed-rss2.php)を直接編集する方法はアップデートで消えてしまうため避けるべき理由もあわせて説明します。
WordPress

【WordPress】管理画面以外でデフォルトの検索を無効にし、オリジナルの検索機能を実装する方法

WordPressのデフォルト検索を無効化し、キーワードとカテゴリで絞り込めるオリジナルの検索機能を固定ページテンプレートで実装する方法を解説します。カスタムクエリのページネーションを正しく動かす方法と、固定ページテンプレートの正しい設定手順もあわせて紹介します。
WordPress

【WordPress】記事のソート順を変更する方法

WordPressで記事のソート順を変更する方法を、WP_Query・pre_get_posts・カスタムフィールドを使った方法別に解説します。価格や評価などの数値データをカスタムフィールドでソートする際にmeta_valueとmeta_value_numを取り違えると順序がおかしくなる落とし穴もあわせて紹介します。
WordPress

【WordPress】Ajaxでチェックボックスを使ったリアルタイム絞り込み検索を実装する方法

WordPressでチェックボックスによる絞り込み検索をAjaxでリアルタイムに反映させる方法を解説します。フロントエンドのHTML・JavaScript・PHPのAjaxハンドラーの実装に加え、子テーマ環境での404対策や入力値のサニタイズ・出力エスケープといった安全な実装のポイントも紹介します。
WordPress

【WordPress】Ajaxを使用する方法

WordPressでAjaxを実装する基本的な方法を解説します。admin-ajax.phpを使ったJavaScriptとPHPの連携手順に加え、投稿IDを指定するAjaxハンドラーにありがちな情報漏洩の脆弱性と、その対策となるnonce検証・投稿ステータスチェックの実装方法もあわせて紹介します。
WordPress

【WordPress】Ajaxを使った無限スクロールを実現する方法

WordPressでAjaxを使った無限スクロールを実装する方法を解説します。子テーマ環境でJSファイルが404になる典型的な原因(get_template_directory_uriとget_stylesheet_directory_uriの取り違え)と、スクロールイベントの多重発火で同時に複数リクエストが飛んでしまう問題への対処法もあわせて紹介します。
WordPress

【WordPress】固定ページをパーツ化して他のページで再利用する方法

共通のヘッダーやフッターなどのコンテンツを固定ページとしてパーツ化し、他のページで再利用する方法を解説します。get_page_by_path()を使う方法、ショートコード化する方法、テンプレートパーツとして読み込む方法、ACF PROのオプションページを使う方法をそれぞれのメリットと注意点とともに紹介します。
WordPress

【WordPress】固定ページにページネーションを表示する方法

固定ページ内でWP_Queryを使った独自の一覧を表示し、paginate_links()でページネーションを追加する方法を解説します。固定ページ特有のget_query_var('page')の落とし穴と、the_posts_pagination()がカスタムクエリを直接扱えない点への正しい対処法もあわせて紹介します。
WordPress

【WordPress】投稿・カスタム投稿のプレビューリンク先を変更する方法

WordPressのpreview_post_linkフィルターを使い、投稿やカスタム投稿のプレビューリンク先を変更する方法を解説します。関数名get_preview_post_link()とフィルター名preview_post_linkを混同しやすい点に注意しながら、カスタム投稿タイプごとにリンク先を分岐する実装例も紹介します。
WordPress

【WordPress】URLに「#038;」が入る問題とその解決方法

WordPressのページネーション実装でURLに「#038;」が混入する原因(get_pagenum_link()とesc_url()による二重エスケープ)と、3つの解決方法を解説します。第2引数にfalseを渡す方法・html_entity_decode()でデコードする方法・str_replace()でエンティティを置換する方法をそれぞれ正しいコード例とともに紹介します。
WordPress

【WordPress】管理画面にCSSを追加する方法

admin_enqueue_scriptsアクションフックを使い、WordPressの管理画面にカスタムCSSを追加する方法を解説します。子テーマ環境でCSSが読み込まれない典型的な原因(get_template_directory_uriとget_stylesheet_directory_uriの取り違え)と、特定の管理画面ページだけにCSSを適用する方法もあわせて紹介します。