Font Awesome 加载图标未显示在 WooCommerce 管理员列表中
P粉081360775
P粉081360775 2024-02-17 21:07:05
[PHP讨论组]

根据自定义输入字段更新 WooCommerce 管理产品列表中的库存数量,这是我之前对我的一个问题的回答。

以下代码为数量列添加一个自定义按钮,按下按钮时会更新数量并刷新当前数量。尝试在按下按钮后添加加载微调器,但无法加载。

这是 functions.php 文件中的代码:

// Add input fields to stock status column// change default stock
add_filter('woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );
function filter_woocommerce_admin_stock_html($stock_html, $product) {
    if ( $product->managing_stock() ) {
        return '';
    }
    return $stock_html;
}

// Add input fields to stock status column
add_action( 'manage_product_posts_custom_column', 'product_stock_quantity_column_content', 10, 2 );
function product_stock_quantity_column_content( $column, $product_id ) {
    if ( $column === 'is_in_stock' ) {
        global $product;

        if ( $product->managing_stock() ) {
            $stock_html = sprintf('
', $product_id, $product->get_stock_quantity('edit'), $product_id, $product_id, $product_id); if ( $product->is_on_backorder() ) { $stock_html .= '' . __( 'On backorder', 'woocommerce' ) . ''; } elseif ( $product->is_in_stock() ) { $stock_html .= '' . __( 'In stock', 'woocommerce' ) . ''; } else { $stock_html .= '' . __( 'Out of stock', 'woocommerce' ) . ''; } echo $stock_html .' (' . wc_stock_amount( $product->get_stock_quantity() ) . ')
'; } } } // WP Admin Ajax receiver add_action('wp_ajax_update_stock_quantity', 'update_stock_quantity_ajax'); function update_stock_quantity_ajax() { if (isset($_POST['product_id']) && isset($_POST['update_qty'])) { $product = wc_get_product(intval($_POST['product_id'])); $product->set_stock_quantity(intval($_POST['update_qty'])); $id = $product->save(); if ( $product->is_on_backorder() ) { $stock_html = '' . __( 'On backorder', 'woocommerce' ) . ''; } elseif ( $product->is_in_stock() ) { $stock_html = '' . __( 'In stock', 'woocommerce' ) . ''; } else { $stock_html = '' . __( 'Out of stock', 'woocommerce' ) . ''; } $stock_html .= ' (' . wc_stock_amount( $product->get_stock_quantity() ) . ')'; echo $stock_html; } wp_die(); // Exit silently (Always at the end to avoid an Error 500) } // jQuery Ajax add_action('admin_footer', 'update_stock_quantity_js'); function update_stock_quantity_js() { global $pagenow, $typenow; if( 'edit.php' === $pagenow && 'product' === $typenow ) : ?>

还导入了font Awesome库,现在按下按钮后,按钮就会消失,出现一个空框。

P粉081360775
P粉081360775

全部回复(1)
P粉593649715

您没有使用正确的CSS库链接,并且您还应该将该功能限制为仅管理产品列表。将最后一个函数替换为:

add_action('admin_enqueue_scripts', 'enqueue_font_awesome_free6');
function enqueue_font_awesome_free6() {
    global $pagenow, $typenow;
    if ( $pagenow === 'edit.php' && $typenow === 'product' ) {
        wp_enqueue_style('font-awesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css');
    }
}

经过测试并有效。

这里是 Font Awesome 的所有 CDN 正确链接

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号