2017-05-24 15 views
1

フロントエンドのタブ内で呼び出される追加のメタボックスを追加しています。警告:woocommerce用の追加のメタボックスを追加する際にエラーが発生しました

call_user_func()パラメータ1が有効なコールバックであることを期待し、 Cで見つからないクラス 「WC_Meta_Box_Product_Features_Advantages」:\ WAMP \ WWWをこれはというエラーを与えるpage.But新製品を追加する内部追加されます\個人用サイト\のwp-adminが\行の\ template.php 1048

が含まスクリーンショット: enter image description here

私は単純な方法の短い説明メタボックスを加え、続いて。したがって、私はこの場所でクラスファイル作成:

C:\wamp\www\mysite\wp-content\plugins\woocommerce\includes\admin\meta-boxes\class-wc-meta-box-features-advantages-.php 

を、コンテンツが次のようになります。C:\ WAMP \ WWW \個人用サイト\ WP-コンテンツ

<?php 
/** 
* Product Features Advantages 
* 
* Replaces the standard excerpt box. 
* 
* @author  WooThemes 
* @category Admin 
* @package  WooCommerce/Admin/Meta Boxes 
* @version  2.1.0 
*/ 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

/** 
* WC_Meta_Box_Product_Features_Advantages Class. 
*/ 
class WC_Meta_Box_Product_Features_Advantages { 

    /** 
    * Output the metabox. 
    * 
    * @param WP_Post $post 
    */ 
    public static function output($post) { 

     $settings = array(
      'textarea_name' => 'features_advantages', 
      'quicktags'  => array('buttons' => 'em,strong,link'), 
      'tinymce'  => array(
       'theme_advanced_buttons1' => 'bold,italic,strikethrough,separator,bullist,numlist,separator,blockquote,separator,justifyleft,justifycenter,justifyright,separator,link,unlink,separator,undo,redo,separator', 
       'theme_advanced_buttons2' => '', 
      ), 
      'editor_css' => '<style>#wp-excerpt-editor-container .wp-editor-area{height:175px; width:100%;}</style>', 
     ); 

     wp_editor(htmlspecialchars_decode($post->post_excerpt), 'features_advantages', apply_filters('woocommerce_product_features_advantages_editor_settings', $settings)); 
    } 
} 

また、ここではいくつかのより多くの行を追加しました\ plugins \ woocommerce \は、add_meta_boxes()関数の中に\ admin \ class-wc-admin-meta-boxes.phpを含みます。

add_meta_box('features_advantages', __('Product Features and Advantages', 'woocommerce'), 'WC_Meta_Box_Product_Features_Advantages::output', 'product', 'normal'); 

、あなたがいないプラグインフォルダ内のfunctions.phpファイルに追加する必要があります

remove_meta_box('features_advantages', 'product', 'normal'); 

答えて

1

remove_meta_boxes()内のこの行は

あなたの現在のアクティブなテーマのfunctions.phpにこのコードを追加します。

add_action('add_meta_boxes', 'product_details_add');              

add_action('save_post', 'product_details_save'); 

function product_details_add() { 
    add_meta_box('product_details', 'Product Details', 'product_details_call', 'product', 'normal', 'high'); 
} 

function product_details_call($post) { 
    // Use nonce for verification 
    wp_nonce_field(plugin_basename(__FILE__), 'product_details_noncename'); 
    $field_value = get_post_meta($post->ID, 'product_details_meta', false); 
    wp_editor($field_value[0], 'product_details_meta'); 
} 
関連する問題