サポート » 使い方全般 » xml-rpc経由での記事更新時に、複数あるカスタムフィールドの値を合計して

  • 初めまして。Webやこちらのフォーラムを検索して試行錯誤したのですが解決しなかったので質問させて頂きます。

    各記事にpointとpointsumという二つのカスタムフィールドがあります。
    pointは複数あり、その記事が更新されたら自動でpointsumの値を更新時のpointの合計で更新したいです。

    $values = get_post_custom_values( 'point', $postID );
    foreach ($values as $value) {
      $sum += intval($value);
    }
    update_post_meta( $postID, 'pointsum', $sum);

    上記のコードで管理画面からの更新ではうまくいったのですが、xml-rpc経由での更新だと更新したい記事を取得した時点での配列が一つ少なく、新しく追加したpointが合計に反映されません。

    プラグイン API/アクションフック一覧 – WordPress Codex 日本語版

    アクションフックの一覧もそれらしきもの(save_postやedit_post)を試したのですが一向に解決しません。
    xml-rpc経由だとうまくいかないのでしょうか?

    解決策をご存知でしたらご教授頂ければと思います。
    よろしくお願いします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • 現状のアクションフックはどのようになっているのかよくわかりませんが。
    こんな感じ?試してないので動くか不明です。

    add_action( 'save_post', 'hoge_function' );
    function hoge_function( $postID ) {
        if($parent_id = wp_is_post_revision( $postID ) ) $postID = $parent_id; 
    
        $values = get_post_custom_values( 'point', $postID );
        foreach ( $values as $value ) {
          $sum += intval( $value );
        }
        update_post_meta( $postID, 'pointsum', $sum );
    }
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「xml-rpc経由での記事更新時に、複数あるカスタムフィールドの値を合計して」には新たに返信することはできません。