【发布时间】:2023-02-08 05:12:14
【问题描述】:
我们在基于 woocommerce 的网站上销售电脑部件。 IT 产品很快就会变旧,因此我有数以千计的报废 (EOL) 产品。 我们通过 REST API 更新和检查价格,因此我们的系统在 EOL 产品上花费了太多时间。 另一方面,我们不想删除它们或将它们设为私有,因为它们会从谷歌搜索中带来大量访问者。 所以,我们想给产品添加一个自定义状态。就像停产一样。所以产品将在谷歌上列出,但由于我们只会更新已发布状态的产品,所以不会有问题。
我找到了下面的代码,但不能确定它是否正确。因为当我添加此代码并选择 EOL 时,它看起来不像我想要的那样。 在选择 EOL 之前:https://prnt.sc/00qzWQV6saTp 选择 EOL 并保存后:https://prnt.sc/VkTzLq1S1EZP
有什么建议吗?
register_post_status( 'custom-hide-product', array(
'label' => _x( 'EOL', 'post' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'EOL <span class="count">(%s)</span>', 'EOL <span class="count">(%s)</span>' ),
) );
add_action( 'admin_footer', 'display_hide_status_option' );
function display_hide_status_option() {
global $post;
$complete = '';
$label = '';
if ( $post->post_type === 'product' ) {
if ( $post->post_status === 'custom-hide-product' ) {
$selected = 'selected';
}
echo '<script>
jQuery(document).ready(function($){
$("select#post_status").append("<option value=\"custom-hide-product\" ' . $complete . '>EOL</option>");
$(".misc-pub-section label").append("' . $label . '");
});
</script>
';
}
}
【问题讨论】:
标签: wordpress woocommerce