php - 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>
';
}
}
产品中的下拉菜单:
但是当我检查产品状态下拉列表时,我的自定义帖子状态不可见/设置或其他。你能看出问题吗?我不能。。
解决方案
您的帖子类型不正确。您的代码为通用 Wordpress 帖子创建下拉列表,但不是产品。
这一行:
if ( $post->post_type === 'post' ) {
应该:
if ( $post->post_type === 'product' ) {
推荐阅读
- c# - 启动 Google Chrome 进程并调用 GetElementByID
- javascript - Typescript 中动态创建函数的形式参数
- javascript - 由于缺少模块,Heroku 构建失败
- angular - 从Angular 5中的服务调用组件中的函数?不使用@input 或@output
- ios - cellForRow(at: ) 返回 nil
- python - 输入一个项目并在python中获取它的正则表达式
- javascript - 使用 vanilla JavaScript 设置元素的位置
- php - .htaccess 将非 www 重定向到 www 和 http:// 到 https://
- android - 限制特定应用程序的移动和 wifi 数据
- haskell - Haskell Lens 组成的?~