获取产品可见性更改的时间戳

时间:2016-12-12 14:16:57

标签: php wordpress woocommerce custom-fields product

在WooCommerce中,当管理员更改了产品的可见性(可见 - 隐藏)时,我想获取日期( timestamp )。

任何想法如何制作这个?

我尝试了上次修改时间戳,但我希望只有 timestamp 这一特定更改。

感谢。

1 个答案:

答案 0 :(得分:0)

  

对于仅可见性更改值,没有特定的时间戳。如果您更改了产品中的其他内容,则还会更改上次编辑时间戳。

'save_post' WordPress后端挂钩中有一个自定义函数的解决方案,您将在其中测试 $_REQUEST['visibility'] (或者 $_POST['visibility']

如果为产品展示次数设置了新值,我们会创建/更新自定义 post_meta 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);
     

您还可以在自定义字段元数据的管理产品修改模式视图中访问此自定义字段值,您将在其中看到 visibility_change 的值自定义字段。