codocというプラグインを使うとWordPressで有料noteみたいなことができて、マネタイズするのに便利なのです。

じゃあどの記事が有料記事でいくらなのか?


価格をリストにしているのですが、こういうことはカスタムフィールドを使っています。
その方がいろいろなカスタマイズで使えるのですが、codocのパラメータ(価格)はブロックもといAPI側で値を持っているので
その価格をカスタムフィールドに同期するコードを作成してみました。

こんな感じで記事にcodocがあればその記事のカスタムフィールドに同期されます。
WordPressでcodocの価格をカスタムフィールに同期する方法
やり方は簡単です。
コードを貼るだけです。
カスタムフィールドの設置
functions.phpに以下のコードを貼ります。
// 投稿画面にカスタムフィールドエリアを追加
add_action('admin_menu', function () {
add_meta_box(
'custom_price_box',
'価格',
'render_custom_price_field',
'post',
'side',
'default'
);
});
// 入力欄の出力
function render_custom_price_field($post)
{
wp_nonce_field('save_custom_price', 'custom_price_nonce');
$price = get_post_meta($post->ID, 'price', true);
echo '<label for="price">価格(円)</label>';
echo '<input type="number" id="price" name="price" value="' . esc_attr($price) . '" style="width:100%;" />';
}
// 保存処理
add_action('save_post', function ($post_id) {
if (!isset($_POST['custom_price_nonce']) || !wp_verify_nonce($_POST['custom_price_nonce'], 'save_custom_price')) return;
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
if (isset($_POST['price'])) {
update_post_meta($post_id, 'price', sanitize_text_field($_POST['price']));
}
});
これで記事に価格のカスタムフィールドが設置されました。
codocの価格をカスタムフィールドpriceに同期するコード
下記のコードもfunctions.phpに貼ります。
管理画面のツールからcodoc価格同期を選択
codoc価格を全投稿から抽出して保存を押すと、codocが設定されている記事に対して価格が同期されます。

以下、コードです。
この記事だけ読みたい方は単品購入、ほかの有料記事も読みたい方は購読プランをご確認ください。
購読対象の記事・料金は、下のプラン案内で確認できます。
役に立った記事を、ブログやSNSで紹介しませんか?
紹介制度の対象記事・購読プランを購入した方は、codocで専用リンクと報酬条件を確認できます。
専用リンク経由で購入されると、設定された紹介報酬が発生します。
購読プランの紹介報酬は初回課金のみが対象です。
紹介時は、広告・PRであることが読者に分かるように明記してください。



