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->post_type === 'post' )
应该是:
if ( $post->post_type === 'product' )
【讨论】:
顺便说一句,除非您在调用register_post_status()
时设置'public' => true
,否则即使在后端也无法搜索任何设置为自定义状态的产品,无论您设置的值如何为exclude_from_search
。它们也不会出现在所有产品下。以上是关于WooCommerce 自定义产品状态不可见/工作的主要内容,如果未能解决你的问题,请参考以下文章
如果设置了产品自定义字段,则更新 WooCommerce 订单状态
iframe 的 Woocommerce 产品自定义字段无法正常工作
获取产品自定义属性以在 WooCommerce 产品循环中显示它们