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の付与方法もあわせて紹介します。
WordPress

【WordPress】Ajax+非公開カスタム投稿で問い合わせ履歴をユーザーにだけ表示する方法

WordPressで非公開のカスタム投稿タイプを使い、ログインユーザー自身の問い合わせ履歴だけをAjaxで非同期表示する方法を解説します。スクリプトの正しい読み込み方法やnonceによるセキュリティ対策もあわせて紹介します。
WordPress

【WordPress】ログインユーザーの最終アクセス日時を記録・表示する方法

WordPressでユーザーのログイン時に最終アクセス日時を自動記録し、管理画面のユーザー一覧やプロフィール画面に表示する方法を解説します。サイトの日付・時刻形式に合わせた表示方法もあわせて紹介します。
WordPress

【WordPress】メディアライブラリの画像サイズを一括再生成する方法|Regenerate Thumbnailsなしで対応

WordPressでプラグイン「Regenerate Thumbnails」を使わずに、PHPコードで画像サイズを一括再生成する方法を解説します。存在しない関数の呼び出しやフロントエンドでの致命的エラーを避ける正しい実装、安全な実行トリガーの作り方もあわせて紹介します。
WordPress

【WordPress】特定条件で投稿のカスタムフィールドを一括更新する方法

WordPressでカテゴリー・投稿ステータス・公開日などの条件に応じて、投稿のカスタムフィールドを一括更新する方法を解説します。本番サイトで安全に一度だけ実行するための管理画面ボタン方式や、WP-CLIでの実行例もあわせて紹介します。
WordPress

【WordPress】自動下書き投稿の一括削除・自動削除処理を実装する方法

WordPressに溜まる自動下書き(auto-draft)投稿を一括削除・定期削除する方法を解説します。WordPressコアが標準で7日後に自動削除している仕組みと、実行中のドラフトを誤って消さないための日付フィルタの重要性もあわせて紹介します。