Wie kann ich WPAlchemy-Wiederholungsfelder-Metawerte in meiner Seitenvorlage ausgeben?

Ich habe einen benutzerdefinierten Beitragstyp, Downloads, der einige benutzerdefinierte Metaboxen enthält, einschließlich eines Wiederholungsfeldes. Ich kann die Werte für alle in meiner Seitenvorlage ausgeben, aber ich kann die Werte der wiederholenden Felder nicht in meiner Seitenvorlage ausgeben.

In meiner downloads_meta.php habe ich folgendes:

the_field('cb_second_includes'); ?>

<input type="checkbox" class="second-includes-check" name="the_name(); ?>" value="1"the_checkbox_state('1'); ?>/>Different bullet points for previous version?

have_fields_and_multi('docs')): ?> the_group_open(); ?> the_field('li-text'); ?> setGroupName('li-n'. $mb->get_the_index())->setInsertButtonLabel('Insert'); ?>
getField(array('name' => $metabox->get_the_name(), 'value' => $metabox->get_the_value())); ?> -
the_group_close(); ?>

+

Und in meiner Seitenvorlage habe ich:

  4, 'post_type' => array('downloads'), 'post_status' => 'publish', 'orderby' => 'menu_order', 'order' => 'ASC' ); $temp = $wp_query; global $wp_query; global $post; $wp_query= null; $wp_query = new WP_Query($args); ?> have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?>  
    have_fields('docs')): ?>
  • get_the_value('li-text'); ?>

Mit dem obigen Code kann ich Werte für meinen ersten benutzerdefinierten Post-Typ ausgeben, aber die zweiten beiden geben nichts für die wiederholenden Felder aus. Ich würde mich über jeden Einblick freuen, was ich falsch machen könnte.

Solutions Collecting From Web of "Wie kann ich WPAlchemy-Wiederholungsfelder-Metawerte in meiner Seitenvorlage ausgeben?"

Pro Kommentar, hier ist ein (sehr grobes) Beispiel für den Zugriff auf wiederholte Felder im Frontend. Beachten Sie, dass Sie den WPAlchemy-Extrakt-Modus verwenden, der jedem Feld einen eigenen Meta-Eintrag gibt und den Zugriff auf diese ein wenig vereinfacht.

Außerdem werden Aktionen in “functions.php” verwendet, um Metabox hinzuzufügen und Inhalte für Testzwecke auszugeben – offensichtlich würden Sie den 'init' Code an Ihren benutzerdefinierten Post-Typ anpassen und den Code 'the_content' in Ihre Seitenvorlage einfügen.

ZB in “functions.php”:

 define( 'METABOX_ID', 'my_meta_' ); add_action( 'init', function () { if ( is_admin() ) { if ( ! class_exists( 'WPAlchemy_MetaBox' ) ) { require_once 'wpalchemy/MetaBox.php'; // Assuming subdirectory of current theme directory. require_once 'wpalchemy/MediaAccess.php'; // Assuming subdirectory of current theme directory. } global $wpalchemy_media_access; $wpalchemy_media_access = new WPAlchemy_MediaAccess(); $download_meta = new WPAlchemy_MetaBox( array( 'id' => METABOX_ID, 'types' => array( 'post' ), // array( 'downloads' ) 'template' => get_stylesheet_directory() . '/download_meta.php', 'priority' => 'default', 'mode' => WPALCHEMY_MODE_EXTRACT, 'prefix' => METABOX_ID, ) ); } } ); // Just for testing - should be in the custom post type template. add_action( 'the_content', function ( $content ) { if ( is_single() ) { $post_id = get_the_ID(); // Access single-valued (non-array) meta. $ul_class = 'docs'; if ( $cb_second_includes = get_post_meta( $post_id, METABOX_ID . 'cb_second_includes', true ) ) { $ul_class = 'docs_second_includes'; } // Access array-valued meta. if ( $docs = get_post_meta( $post_id, METABOX_ID . 'docs', true ) ) { ob_start(); ?> 
    < ?php foreach ( $docs as $doc ) : ?>
  • < ?php echo $doc['li-text']; ?>
  • < ?php endforeach; ?>
< ?php $content = $content . ob_get_clean(); } } return $content; } );

Hier ist die Version von "download_meta.php", die ich benutzt habe (beachten Sie, dass die Metabox über $mb angesprochen wird):

 < ?php global $wpalchemy_media_access; ?> 
< ?php $mb->the_field('cb_second_includes'); ?>

the_checkbox_state('1'); ?>/>Different bullet points for previous version?

< ?php while($mb->have_fields_and_multi('docs')): ?> < ?php $mb->the_group_open(); ?> < ?php $mb->the_field('li-text'); ?> < ?php $wpalchemy_media_access->setGroupName('li-n'. $mb->get_the_index())->setInsertButtonLabel('Insert'); ?>
< ?php echo $wpalchemy_media_access->getField(array('name' => $mb->get_the_name(), 'value' => $mb->get_the_value())); ?> -
< ?php $mb->the_group_close(); ?> < ?php endwhile; ?>

+