web-dev-qa-db-ja.com

プラグインがアクティブ化されている間にカスタム投稿タイプのカスタムフィールドにデフォルト値を設定することは可能ですか?

カスタム投稿タイプを作成するプラグインを開発しています。カスタム投稿タイプには多数のカスタムフィールドがあり、アクティブ化時にこれらのカスタムフィールドにデフォルト値を設定したいと思います。

これどうやってするの?

<li>
<label for="cx_number" class="sinop">Post Limit</label>
<input style="width:50px;" type="number" name="cx_number" id="cx_number" value="<?php if( !empty ( $postData['cx_number']) ) echo $postData['cx_number'][0]; ?>"/>
if ( isset( $_POST[ 'cx_number' ] ) ) {
    update_post_meta( $post_id, 'cx_number', $_POST[ 'cx_number' ] ) ;
}
2
D. Merchant

あなたはsave_post_フックでそれをすることができます
それを試してください:

add_action("save_post_" . CUSTOM_POST_TYPE, function ($post_ID, \WP_Post $post, $update) {

    if (!$update) {

        update_post_meta($post->ID, "cx_number", "default value");

        return;

    }


    if (isset($_POST["cx_number"])) {

        update_post_meta($post->ID, "cx_number", $_POST["cx_number"]);

    }


}, 10, 3);
1
mmm