ワードプレスのwp_update_custom_css_postアクションの使用方法・解説

概要

wp_update_custom_css_postアクションは、WordPressのカスタマイザーの追加CSS情報が更新されるときに発火します。このアクションを使用することで、カスタムCSSが保存された際に、特定の処理を実行することができます。主に以下のような機能を実装する際に利用されます:

  1. CSSが更新された際に通知を送信する
  2. 外部サービスと連携し、CSSのバージョン管理を行う
  3. 特定の条件下でのCSS変更をトラッキングする
  4. スタイル変更の履歴を記録する
  5. 他の関連データを一緒に保存する
  6. 管理画面に特別な通知を表示する
  7. 追加CSSの内容を解析して自動修正を行う
  8. カスタムCSSの変更に基づく統計情報を収集する

構文

do_action( 'wp_update_custom_css_post', $post_ID, $css );

パラメータ

  • $post_ID (int): 更新されたカスタムCSSが保存されたポストのID
  • $css (string): 保存されたCSSコード

戻り値

このアクションは戻り値を持ちません。

関連する関数

wp_update_custom_css_post

使用可能なバージョン

このアクションはWordPress 4.7.0以降で利用可能です。

コアファイルのパス

wp-includes/class-wp-customize-manager.php

サンプルコード

サンプルコード1: CSS更新時に通知メールを送信する

add_action( 'wp_update_custom_css_post', 'send_notification_email', 10, 2 );

function send_notification_email( $post_ID, $css ) {
    $to = 'admin@example.com';
    $subject = 'Custom CSS Updated';
    $message = 'Custom CSS has been updated. Post ID: ' . $post_ID;
    wp_mail( $to, $subject, $message );
}

このコードは、カスタムCSSが更新された際に管理者にメール通知を送信します。

サンプルコード2: CSSの変更履歴をデータベースに保存

add_action( 'wp_update_custom_css_post', 'save_css_change_to_db', 10, 2 );

function save_css_change_to_db( $post_ID, $css ) {
    global $wpdb;
    $wpdb->insert( 
        'wp_css_history', 
        array( 
            'post_id' => $post_ID, 
            'css_code' => $css, 
            'changed_at' => current_time( 'mysql' ) 
        ) 
    );
}

このコードは、CSSが更新された際に履歴をデータベースに保存します。

サンプルコード3: 特定の条件下でのみCSSを更新

add_action( 'wp_update_custom_css_post', 'conditional_css_update', 10, 2 );

function conditional_css_update( $post_ID, $css ) {
    if ( strpos( $css, 'important' ) !== false ) {
        // 特定の条件が満たされた場合にのみ、さらに処理を行う
        // ここに処理を書く
    }
}

このコードは、CSSコードに「!important」が含まれている場合のみに特定の処理を実行します。

サンプルコード4: 外部APIにCSSを送信

add_action( 'wp_update_custom_css_post', 'send_css_to_external_api', 10, 2 );

function send_css_to_external_api( $post_ID, $css ) {
    $response = wp_remote_post( 'https://example.com/api/css', array(
        'body' => json_encode( array( 'css' => $css ) ),
        'headers' => array( 'Content-Type' => 'application/json' ),
    ));
}

このコードは、CSSが更新された際に外部APIにCSSコードを送信します。

サンプルコード5: CSS変更時にデバッグログを生成

add_action( 'wp_update_custom_css_post', 'log_css_change', 10, 2 );

function log_css_change( $post_ID, $css ) {
    error_log( 'Custom CSS updated for post ID: ' . $post_ID );
}

このコードは、カスタムCSSが更新された際にデバッグ用のログエントリを生成します。

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

このアクションは他のアクションとの使用例は特に見当たりません。

非推奨または削除されたバージョン

このアクションは特定のバージョンで非推奨又は削除された試しはありません。

この関数について質問する


上の計算式の答えを入力してください