WooCommerce 自定义产品状态不可见/工作

Posted

技术标签:

【中文标题】WooCommerce 自定义产品状态不可见/工作【英文标题】:WooCommerce custom product status not visible / working 【发布时间】:2019-04-28 11:35:46 【问题描述】:

因为我需要创建自定义产品状态,所以我在 google 上搜索了“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>
        ';
    

产品中的下拉菜单:

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

【问题讨论】:

【参考方案1】:

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

这一行:

if ( $post-&gt;post_type === 'post' )

应该是:

if ( $post-&gt;post_type === 'product' )

【讨论】:

顺便说一句,除非您在调用register_post_status() 时设置'public' =&gt; true,否则即使在后端也无法搜索任何设置为自定义状态的产品,无论您设置的值如何为exclude_from_search。它们也不会出现在所有产品下。

以上是关于WooCommerce 自定义产品状态不可见/工作的主要内容,如果未能解决你的问题,请参考以下文章

如果设置了产品自定义字段,则更新 WooCommerce 订单状态

iframe 的 Woocommerce 产品自定义字段无法正常工作

获取产品自定义属性以在 WooCommerce 产品循环中显示它们

自定义帖子类型的 WooCommerce 产品

根据 Woocommerce 中的产品类别按项目自定义电子邮件通知

显示自定义字段打击产品标题 Woocommerce 产品单页