2016-12-12 11 views
2

WooCommerceでは、管理者が製品の可視性(可視 - 非表示)を変更した日付(timestamp)を取得したいと考えています。製品の可視性の変更のタイムスタンプを取得

どのようにすればいいですか?

私は最後の編集のタイムスタンプを試してみましたが、私はtimestampのみ、この特定の変更を持っていると思います。

ありがとうございました。

答えて

0

具体的な内容はありませんタイムスタンプは可視性が変更された値のみです。製品内の他のものを変更すると、最後の編集タイムスタンプも変更されます。

あなたは$_REQUEST['visibility'](あるいは$_POST['visibility']をテストします'save_post' WordPressのバックエンドフック、カスタム機能をフックソリューションがあります。

新しい値が設定されている場合商品の表示可能性、カスタムを作成/更新します。ポスト_メタkey'visibility_timestamp'変更タイムスタンプvalueです。ここで

はそのコードです:

add_action('save_post', 'custom_datestamp_for_product_visibility', 1, 1); 
function custom_datestamp_for_product_visibility($post_id){ 

    // Get the post object 
    $post = get_post($post_id); 

    if($post->post_type == 'product') { 
     $visibility = $_REQUEST['visibility']; 
     if(!empty($visibility)) 
     { 
      // Current timestamp (now) 
      $now = date('y-m-d H:i:s'); 

      // Creating (or updating) your visibility change timestamp 
      update_post_meta($post_id, 'visibility_change', $today); 
     } 
    } 
} 

このコードはテストされ、完全に機能しています。

アクティブな子テーマ(またはテーマ)のfunction.phpファイルにコードが入ります。また、任意のプラグインのPHPファイルにもあります。

あなたのコードでの使用(製品IDと可視性のタイムスタンプ値を取得する):

$visibility_timestamp_change = get_post_meta($product_id, '_visibility_change', true); 

またで管理製品編集モードビュー内でこのカスタムフィールドの値にアクセスすることができますカスタムフィールドMetaboxここでは、visibility_changeカスタムフィールドの値が表示されます。

+0

回答ありがとうございますが、何かがうまくいきません。私はカスタムテキストフィールドを作った。あなたのコードでも、$ now変数を使ってupdate_post_metaを変更する必要があります。それは動作するようですが、初めて初めてです。私が再び変化すると、視界は何も起こらない。また、私はちょうど私はちょうど製品を更新するカスタムフィールドは、タイムスタンプを取得します。 –

+0

@GeorgeNtoum私は周りを回っている仕事を見つけるつもりです。私はいつ更新するか答えてくれるかもしれません。 – LoicTheAztec

+1

ありがとうございます。何か見つかったら投稿してください。私もそれを解決しようとしています。もし私が何かを描くなら、私はあなたに知らせるでしょう –

関連する問題