CMB2 funktioniert nicht in meinem WordPress Theme

Ich habe die statementen in diesem Blog befolgt, um das CMB2-Plugin einzurichten, aber in meinem Fall funktioniert es nicht.

theme-meta-funktion.php →

 $prefix . 'metabox', 'title' => __( 'Homepage Custom Fields', 'cmb2' ), 'object_types' => array( 'page', ), // Post type 'show_on' => array( 'id' => array( 10, ) ), // Specific post IDs to display this metabox ) ); $cmb_demo->add_field( array( 'name' => __( 'Testimonial Author', 'cmb2' ), 'desc' => __( 'Who is the testimonial from', 'cmb2' ), 'id' => $prefix . 'author', //Note, I renamed this to be more appropriate 'type' => 'textarea_small', ) ); $cmb_demo->add_field( array( 'name' => __( 'Testimonial', 'cmb2' ), 'desc' => __( 'add the testimonial here', 'cmb2' ), 'id' => $prefix . 'testimonial', //Note, I renamed this to be more appropriate 'type' => 'wysiwyg', 'options' => array( 'textarea_rows' => 5, ), ) ); $cmb_demo->add_field( array( 'name' => __( 'Author Image', 'cmb2' ), 'desc' => __( 'Upload an image or enter a URL.', 'cmb2' ), 'id' => $prefix . 'image', //Note, I renamed this to be more appropriate 'type' => 'file', ) ); } 

dann habe ich so in die functions.php → aufgenommen

 require_once( dirname(__FILE__) . '/inc/lib/theme-meta-functions.php'); 

Aber keine einzige Meta erscheint der Beitrag → https://www.screencast.com/t/Bvihe62fZMV

Ich vergesse zu erwähnen, dass das Plugin bereits in WordPress installiert ist .

Solutions Collecting From Web of "CMB2 funktioniert nicht in meinem WordPress Theme"

Ändere $prefix = '_yourprefix_'; zu $prefix = '_wp';

oder fügen Sie den folgenden Code direkt zu functions.php hinzu

 add_action( 'cmb2_admin_init', 'register_testimonial_metabox' ); function register_testimonial_metabox() { $prefix = '_wp'; $cmb_demo = new_cmb2_box( array( 'id' => $prefix . 'metabox', 'title' => __( 'Homepage Custom Fields', 'cmb2' ), 'object_types' => array( 'page', ), // Post type 'show_on' => array( 'id' => array( 10, ) ), ) ); $cmb_demo->add_field( array( 'name' => __( 'Testimonial Author', 'cmb2' ), 'desc' => __( 'Who is the testimonial from', 'cmb2' ), 'id' => $prefix . 'author', ) ); $cmb_demo->add_field( array( 'name' => __( 'Testimonial', 'cmb2' ), 'desc' => __( 'add the testimonial here', 'cmb2' ), 'id' => $prefix . 'testimonial', 'type' => 'wysiwyg', 'options' => array( 'textarea_rows' => 5, ), ) ); $cmb_demo->add_field( array( 'name' => __( 'Author Image', 'cmb2' ), 'desc' => __( 'Upload an image or enter a URL.', 'cmb2' ), 'id' => $prefix . 'image', 'type' => 'file', ) ); } 

die Lösung →

 'object_types' => array( 'page', ), // Post type 'show_on' => array( 'id' => array( 10, ) ), // Specific post IDs to display this metabox 

Das oben genannte war der Grund, warum es nicht auf einem Posten arbeitete.

Ich habe gerade Post hinzugefügt und hier hinzugefügt →

 'object_types' => array( 'page', ), // Post type 

und löschte diese Zeile →

  'show_on' => array( 'id' => array( 10, ) ), // Specific post 

Alles begann zu arbeiten, und es gab kein Problem in dem Plugin oder irgendeinem Code.