WordPress

【WordPress】global-styles-inline-css を削除する方法

WordPress 5.9以降にブロックテーマ・FSE対応テーマで自動出力される global-styles-inline-css を正しく削除する方法を解説します。片方のフックしか解除できていない・存在しないフックを対象にしているなど、よくある誤った実装例とその修正方法もあわせて紹介します。
WordPress

【WordPress】記事の文字数や読み時間を自動表示する方法(投稿画面・フロント両対応)

WordPressで記事ごとの文字数や読了目安時間を自動計算し、フロントエンドと管理画面の両方に表示する方法を解説します。ショートコードやscript/styleタグの中身が文字数に混入してしまう見落としがちな計算ミスと、正しい除去方法もあわせて紹介します。
WordPress

【WordPress】投稿タイトルの先頭に自動でカテゴリ名を追加する方法

WordPressの投稿タイトルの先頭に、the_titleフィルターを使ってカテゴリ名を自動追加する方法を解説します。フィード(RSS/Atom)やウィジェットにまで意図せず影響してしまう見落としがちな範囲の問題と、正しい絞り込み方法もあわせて紹介します。
WordPress

【WordPress】ログインユーザーにだけ表示するコンテンツをショートコードで実装する方法

WordPressでログインユーザー限定のコンテンツをショートコードで実装する方法を解説します。ロール別の表示制御における権限の誤解や、キャッシュプラグイン・CDNとの干渉によるコンテンツ漏洩リスクなど、見落としがちな注意点もあわせて紹介します。
WordPress

【WordPress】ショートコードにパラメータを渡して動的な出力を実現する方法

WordPressのショートコードにパラメータを渡し、柔軟で動的な出力を実現する方法を解説します。shortcode_atts()の使い方に加え、投稿の公開状態を確認せずタイトルを漏洩させてしまう見落としがちなバグとその修正方法もあわせて紹介します。
WordPress

【WordPress】ログイン不要で非公開投稿を一時的に共有するURLを生成する方法

WordPressの非公開投稿を、ログイン不要かつ有効期限付きで外部に一時共有する方法を解説します。非公開投稿はWP_Queryの可視性チェックにより通常のクエリフィルターでは表示を許可できないため、template_redirectフックで直接処理する正しい実装方法を紹介します。
WordPress

【WordPress】カスタム投稿ごとに自動採番する連番フィールドの作り方

WordPressで予約番号や管理コードなど、投稿タイプごとに一意な連番を自動で付与する方法を解説します。複数の投稿が同時に保存された際に番号が重複してしまう典型的な競合状態のバグと、MySQLのLAST_INSERT_ID()を使った正しいアトミック実装もあわせて紹介します。
WordPress

【WordPress】ブロックエディターで特定ブロックを禁止する方法(ユーザー権限別)

WordPressのブロックエディター(Gutenberg)で、ユーザーの権限や投稿タイプに応じて使用できるブロックを制限する方法を解説します。allowed_block_types_allフィルターを使った正しい実装方法を紹介します。
WordPress

【WordPress】管理画面に独自の通知メッセージを表示する方法(成功・警告・エラー)

WordPress管理画面にadmin_noticesフックを使って独自の通知メッセージ(成功・警告・エラー・情報)を表示する方法を解説します。通知クラスの正しい違いや、条件付き表示・特定ページのみへの表示方法もあわせて紹介します。
WordPress

【WordPress】カテゴリーごとに異なるカスタム投稿テンプレートを動的に切り替える方法

WordPressでsingle_templateフィルターを使い、投稿が属するカテゴリーに応じて表示テンプレートを動的に切り替える方法を解説します。複数カテゴリーに属する投稿での優先カテゴリーの正しい決め方もあわせて紹介します。
WordPress

【WordPress】ログイン中のユーザーが最後に閲覧した投稿を記録・再表示する方法

WordPressでログイン中のユーザーが最後に閲覧した投稿を記録し、次回表示する仕組みを実装する方法を解説します。サイドバーや投稿本文に組み込んだ際に現在の記事自身を表示してしまう典型的な落とし穴の回避方法もあわせて紹介します。
WordPress

【WordPress】管理画面のカスタム投稿に並び順のドロップダウンを追加する方法

WordPress管理画面の投稿一覧に並び順を切り替えるドロップダウンを追加する方法を解説します。URLの直接操作による不正な値の注入を防ぐホワイトリスト検証や、カスタムフィールドでの並び替えの正しい統合方法もあわせて紹介します。
WordPress

【WordPress】記事保存時にカスタムフィールド値をバリデーションして保存を制御する方法

WordPressではカスタムフィールドを活用して投稿に独自の情報を追加できますが、ユーザーの入力ミスや未入力によって意図しない
WordPress

【WordPress】ブロックエディターで再利用ブロックの登録・呼び出しをPHPで管理する方法

WordPressの再利用ブロック(wp_blockカスタム投稿タイプ)をPHPから登録・取得・表示する方法を解説します。毎リクエストで無駄なDBクエリが走ってしまう典型的な落とし穴と、初回のみ実行する正しい実装方法もあわせて紹介します。
WordPress

【WordPress】メディアアップローダーに独自のファイル種別(SVG・JSONなど)を許可する方法

WordPressのメディアアップローダーでSVGやJSONなど標準では許可されていないファイル形式をアップロード可能にする方法を解説します。SVGのXSSリスクに対する具体的なサニタイズ処理や、権限ベースでの安全な制限方法もあわせて紹介します。
WordPress

【WordPress】404ページで検索キーワードを提案する機能を追加する方法

WordPressの404ページに検索フォームやおすすめキーワードを表示し、離脱を防ぐ方法を解説します。タグの使用頻度から提案キーワードを動的に生成する応用方法と、その指標が意味する内容もあわせて紹介します。
WordPress

【WordPress】古い投稿を非公開にする自動処理の実装方法(投稿公開日ベース)

WordPressで公開から一定期間が経過した投稿を自動でprivateステータスに変更する方法を解説します。WP_Queryのdate_queryとWP-Cronを組み合わせ、プラグインなしで情報の鮮度を保つ実装方法を紹介します。
WordPress

【WordPress】カスタムブロックに動的データを表示する方法(Block API活用)

GutenbergのBlock APIでrender_callbackを使い、PHPで処理した動的なデータ(最新記事・カスタムフィールドなど)をカスタムブロックに表示する方法を解説します。安全なURL出力の方法もあわせて紹介します。
WordPress

【WordPress】ユーザーごとのカスタムダッシュボードを作る方法

WordPressの管理画面ダッシュボードを、ユーザーの権限やIDに応じてカスタマイズする方法を解説します。標準のWelcome Panelを正しく非表示にする方法や、権限ベースでの安全な出し分け方法もあわせて紹介します。
WordPress

【WordPress】管理画面の一覧テーブルにCSVダウンロードボタンを追加する方法

WordPressの管理画面の投稿一覧にCSVダウンロードボタンを追加し、一覧データをCSVとして出力する方法を解説します。ボタンが二重表示されてしまう典型的な落とし穴と、Excelで日本語が文字化けしないようにするUTF-8 BOMの付与方法もあわせて紹介します。