[解決済み] wp_insert_post_data のフィルターでカスタムフィールドの値を取得する
2022-02-24 05:04:47
質問
こんにちは , 読んでくださってありがとうございます。
環境 :
Wordpress + Advanced Custom Fields プラグイン
問題点 :
もう何時間も検索していますが、次のような正しい構文が見つからないようです。
新規投稿時にカスタムフィールドの値を取得し、投稿のタイトルをその値で自動的に置き換える。 例 投稿を作成し、「時間」のカスタムフィールドに「午前10時」を設定しました。投稿のタイトルは自動的に'10am'に置き換えられます。
例
そこで、以下のようなフィルタを追加しています。
add_filter('wp_insert_post_data', 'change_title') ;
function change_title($data)
{
$time = XXX ; // How should I get this custom field value ?
$new_title = 'Topic created at'.$time ;
$data['post_title'] = $time ;
return $data;
}
とても簡単なことなのでしょうが、WPとプラグインの両方のドキュメントにあるすべての機能を試しました。私なら ありがたい 通りすがりの人が解決策を教えてくれたら。
ありがとうございました。
どのように解決するのですか?
グローバル変数 $_POST にアクセスしてフィールドの値を取得することもできますが、save_post アクションを使用して投稿のタイトルを更新する方が、よりすっきりした方法でそれを行うことができると思います。
add_action('save_post', 'change_title');
function change_title($post_id) {
$time = get_field('time',$post_id);
$post_title = 'Topic created at '. $time;
// unhook this function so it doesn't loop infinitely
remove_action('save_post', 'change_title');
// update the post, which calls save_post again
wp_update_post(array('ID' => $post_id, 'post_title' => $post_title));
// re-hook this function
add_action('save_post', 'change_title');
}
ACFフィールド名が"time"であると仮定して。
編集:Mark Chittyの回答に従って、回答を更新しました。
関連
-
[解決済み】未定義のメソッド mysqli_stmt::get_result を呼び出す。
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
[解決済み】PDOException SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません。
-
[解決済み】PHPのクラスが見つからないが、インクルードされている
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み] YouTube APIからYouTubeビデオのサムネイルを取得する方法を教えてください。
-
[解決済み] PHPのエラーを表示させるにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】XAMPPのphpMyAdminで「設定にあるcontroluserの接続に失敗しました。
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
[解決済み】Netbeans 7.4 for PHPで「スーパーグローバルな$_POST配列に直接アクセスしないでください」という警告が発生する。
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?
-
[解決済み] PHPの配列を別の配列にコピーする関数はありますか?