代码之家  ›  专栏  ›  技术社区  ›  ptrcao

致命错误:未捕获错误:对未定义函数的调用是'u product()

  •  4
  • ptrcao  · 技术社区  · 7 年前

    将我的生产WordPress关联网站导入到本地Xampp环境后,出现以下错误:

    致命错误:未捕获错误:对未定义函数的调用是'u product() C: \xampp\htdocs\public\u html\siliconharvest\wp content\themes\storefront child\functions.php:62 C: \xampp\htdocs\public\u html\siliconharvest\wp includes\class wp hook.php(286): WP_Hook->应用过滤器(空,数组)#2 C: \xampp\htdocs\public\u html\siliconharvest\wp includes\plugin.php(453): WP_Hook->执行操作(数组)#3 C: \xampp\htdocs\public\u html\siliconharvest\wp includes\general template.php(2614): 行动(wp-head)4 C: \xampp\htdocs\public\u html\siliconharvest\wp content\themes\storefront\header.php(18个): 可湿性粉剂头 C: \xampp\htdocs\public\u html\siliconharvest\wp includes\template.php(688): 需要一次('C:\ xampp\htdocs…')#6 C: \xampp\htdocs\public\u html\siliconharvest\wp includes\template.php(647): 加载模板('C:\ xampp\htdocs…',true)#7 在里面 C: \xampp\htdocs\public\u html\siliconharvest\wp content\themes\storefront child\functions.php 在线62

    1. 禁用所有插件,包括与产品相关的插件(Woomerce)
    2. 重新命名storefront child\functions.php文件(暂时禁用)
    3. 已将模板更改为商店前端子项以外的其他内容

    然而,不管上述步骤如何,错误仍然存在。正确的解决办法必须消除所有这些错误。

    <?php
    // BEGIN Remove "Storefront Designed by WooThemes" from Footer as per https://danielsantoro.com/remove-storefront-designed-woothemes/
    add_action('init', 'custom_remove_footer_credit', 10);
    function custom_remove_footer_credit()
    {
        remove_action('storefront_footer', 'storefront_credit', 20);
        add_action('storefront_footer', 'custom_storefront_credit', 20);
    }
    
    function custom_storefront_credit()
    {
    ?>
        <div class="site-info">
    <div class="deferred-menu-items">
    <ul style="list-style-type: none;" class="footer-menu">
    <li style="display:inline-block" class="menu-item-156"><a href="/about/">About Us</a></li><!--
    --><li style="display:inline-block" class="menu-item-189"><a href="/faq/">FAQ</a></li><!--
    --><li style="display:inline-block" class="fa-delivery"><a href="/delivery/">Delivery</a></li><!--
    --><li style="display:inline-block" class="fa-returns"><a href="/returns/">Returns</a></li><!--
    --><li style="display:inline-block" class="menu-item-464"><a href="/store-policies/"><i class="far fa-handshake"></i> Store Policies</a></li><!--
    --><!--<li style="display:inline-block" class="menu-item-1024"><a href="/articles/">Articles</a></li>--><!--
    --><li style="display:inline-block" class="affiliates"><a href="/about-the-silicon-harvest-affiliates-program/"><i class="fas fa-bullhorn"></i> Affiliates Programme</a></li>
    <!--<li style="display:inline-block" class="fa-opas"><a href="/overseas-parts-acquisition-service-opas/">Overseas Parts Acquisition Service (OPAS)</a></li>-->
    </ul>
    </div>
            &copy; <?php
        echo get_bloginfo('name') . ' ' . get_the_date('Y') . ' | ABN: 31 022 705 565 | <a style="color:blue" href="/terms-of-service-and-privacy-policy/">Terms of Service/Privacy Policy</a> <div class="front-page-contact">
    <a style="color:blue" href="/contact-us/#aggs-contact-form">Contact Form</a> | mob: 0424 214 930 | tel: (02) 8007 6871 <!--| mob: +61 424 214 930 (international) / tel: +612 8007 6871 -->| <a style="color:blue" href="mailto:mail@siliconharvest.com.au">mail@siliconharvest.com.au</a><br />Live contact hours from 9am-9pm (AEST/AEDT or Sydney/Melbourne/ACT/TAS time), Mon-Sun</div>';
    ?>
        </div><!-- .site-info -->
        <?php
    }
    // END Remove "Storefront Designed by WooThemes" from Footer
    
    /* START add microdata relating to item condition to satisfy Google Merchant's optional advice - as per https://github.com/woocommerce/woocommerce/issues/15797#issuecomment-355744594 */
    add_filter('woocommerce_structured_data_product_offer', 'filter_woocommerce_structured_data_product', 10, 2);
    
    /**
     * Add properties to the http://schema.org/Offer markup for all products.
     */
    function filter_woocommerce_structured_data_product($markup, $product)
    {
        /* By default, we assume all products sold in the ecommerce are in new condition */
        if (empty($markup['itemCondition'])) {
            $markup['itemCondition'] = 'http://schema.org/NewCondition';
        }
        return $markup;
    }
    /* END add microdata */
    
    
    // as per https://wordpress.stackexchange.com/questions/276941/woocommerce-add-extra-field-to-variation-product/277556 
    // based on http://www.remicorson.com/woocommerce-custom-fields-for-variations/ 
    
    //THESE ACTIONS AND FILTER HANDLE YOUR PRODUCT VARIATION FIELDS + add_filter( 'woocommerce_available_variation', 'load_variation_settings_fields' ); which you have inserted into a conditional
    add_action('woocommerce_product_after_variable_attributes', 'variation_settings_fields', 10, 3);
    add_action('woocommerce_save_product_variation', 'save_variation_settings_fields', 10, 2);
    
    add_action('wp_head', 'wc_variable_simple_conditions');
    function wc_variable_simple_conditions()
    {
        if (is_product()) {
            global $post;
            $post_id = $post->ID;
            $product = wc_get_product($post_id);
            $type    = $product->get_type();
            if ($type == 'variable') {
                add_filter('woocommerce_available_variation', 'load_variation_settings_fields');
            } elseif ($type == 'simple') {
                add_action('woocommerce_single_product_summary', 'custom_data_above_add_to_cart_button', 41);
            }
        }
    }
    

    if (is_product()) { 是62号线。

    5 回复  |  直到 7 年前
        1
  •  3
  •   aidinMC    7 年前

    首先检查Woomerce是否激活,然后调用功能:

    add_action('wp_head', 'wc_variable_simple_conditions');
    function wc_variable_simple_conditions(){
        if (!class_exists('WooCommerce')) return; // add this line
        if (is_product()) {
            global $post;
            $post_id = $post->ID;
            $product = wc_get_product($post_id);
            $type    = $product->get_type();
            if ($type == 'variable') {
                add_filter('woocommerce_available_variation', 'load_variation_settings_fields');
            } elseif ($type == 'simple') {
                add_action('woocommerce_single_product_summary', 'custom_data_above_add_to_cart_button', 41);
            }
        }
    }
    
        2
  •  0
  •   Maxim    7 年前

    include includes/wc-conditional-functions.php

    http://woocommerce.wp-a2z.org/oik_api/is_product/

        3
  •  0
  •   Md Kowsar Hossain    7 年前

    尝试用以下命令替换函数:

    function wc_variable_simple_conditions()
    {
        if ( !function_exists( 'is_product' ) ) {
            return;
        }
        if (is_product()) {
            global $post;
            $post_id = $post->ID;
            $product = wc_get_product($post_id);
            $type    = $product->get_type();
            if ($type == 'variable') {
                add_filter('woocommerce_available_variation', 'load_variation_settings_fields');
            } elseif ($type == 'simple') {
                add_action('woocommerce_single_product_summary', 'custom_data_above_add_to_cart_button', 41);
            }
        }
    }
    
        4
  •  0
  •   Luismi    7 年前

    add_action('wp_head', 'wc_variable_simple_conditions');
    function wc_variable_simple_conditions() {
        if (is_singular( array( 'product' ) )) {
            global $post;
            $post_id = $post->ID;
            $product = wc_get_product($post_id);
            $type = $product->get_type();
            if ($type == 'variable') {
                add_filter('woocommerce_available_variation', 'load_variation_settings_fields');
            } elseif ($type == 'simple') {
                add_action('woocommerce_single_product_summary', 'custom_data_above_add_to_cart_button', 41);
            }
        }
    }
    

    如果出现错误,则自定义post类型“product”可能不存在。

        5
  •  0
  •   Gunjan Patel    7 年前

    • 如果主题存在新的更新,请尝试更新主题。

    • 如果活动主题文件夹中存在woo commerce文件夹,则重命名