在WooCommerce中,当管理员已更改了产品的可见度(可见 - 隐藏)时,我想获得日期( timestamp
)。
有什么想法如何做到这一点?
我尝试了上次编辑时间戳,但我想拥有 timestamp
仅此特定更改。
谢谢。
没有特定的时间戳仅可见性更改值。如果您更改产品中的其他内容,则最后一个编辑时间戳也将更改。
有一个解决方案在 'save_post'
WordPress后端挂钩中挂接一个函数,您将在其中测试 $_REQUEST['visibility']
(或其他 $_POST['visibility']
。/p>
如果为产品可见性设置了新值,我们创建/更新一个自定义 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);
您还可以在自定义字段Metabox 中的管理产品编辑模式视图中访问此自定义字段值,在其中您将看到
visibility_change
自定义字段的值。<<<<<<<<<<<<<<<<<</p>