因为我需要创建自定义产品状态,所以我已经在Google上搜索了“ WooCommerce创建自定义产品状态”,但未找到任何结果。所以我记得WooCommerce中的产品就像WordPress中的帖子一样,因此我搜索了“在WordPress中创建自定义帖子状态”并找到了一个教程。
我已经按照那里的描述进行了操作,结果就出来了
我首先在主题function.php中注册了自定义帖子状态:
file
在此之后,我完成了本教程的第二部分,以使状态进入下拉列表:
register_post_status( 'custom-hide-product', array(
'label' => _x( 'Produkt versteckt', 'post' ),
'public' => false,
'exclude_from_search' => true,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Produkt versteckt <span class="count">(%s)</span>', 'Produkt versteckt <span class="count">(%s)</span>' ),
) );
产品中的下拉列表:
但是,当我检查产品状态下拉列表时,我的自定义帖子状态不可见/设置或其他。你看到问题了吗?我不能。
答案 0 :(得分:1)
我已经检查了您的代码,有一个小错误。您的代码的最后部分有一个错误。替换为:
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 . '>Produkt versteckt</option>");
$(".misc-pub-section label").append("' . $label . '");
});
</script>
';
}
}
我已将if语句中的post
替换为product
。测试了作品。玩得开心!