首页 > 解决方案 > WooCommerce 自定义产品状态不可见/工作

问题描述

因为我需要创建自定义产品状态,所以我在谷歌“WooCommerce 创建自定义产品状态”上进行了搜索,但没有找到任何结果。所以我记得 WooCommerce 中的产品就像 WordPress 中的帖子一样,所以我搜索了“在 WordPress 中创建自定义帖子状态”并找到了一个教程。

我已经按照那里描述的那样做了,结果出来了


我首先在我的主题 function.php 中注册了一个自定义帖子状态:

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>' ),
) );

在此之后,我完成了教程的第二部分以将状态放入下拉列表中:

add_action( 'admin_footer', 'display_hide_status_option' );
function display_hide_status_option() {
    global $post;
    $complete = '';
    $label    = '';
    if ( $post->post_type === 'post' ) {
        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>
        ';
    }
}

产品中的下拉菜单:

在此处输入图像描述

但是当我检查产品状态下拉列表时,我的自定义帖子状态不可见/设置或其他。你能看出问题吗?我不能。。

标签: phpjquerywordpresswoocommerce

解决方案


您的帖子类型不正确。您的代码为通用 Wordpress 帖子创建下拉列表,但不是产品。

这一行:

if ( $post->post_type === 'post' ) {

应该:

if ( $post->post_type === 'product' ) {


推荐阅读