Zum Inhalt springen
Startseite » CF7 Snippets » Abrufen einer dynamischen Beitragsliste für ein Auswahlfeld

Abrufen einer dynamischen Beitragsliste für ein Auswahlfeld

Wenn Sie ein Auswahlfeld automatisch mit einer Liste der Beiträge (jeden Beitragstyps) auf Ihrer Website füllen möchten, ist dieser Code hilfreich:

function croco_add_post_list_to_contact_form ( $tag, $unused ) {  
  
    if ( $tag['name'] != 'post-list' )  
        return $tag;  
  
    $args = array ( 'post_type' => 'book',  
                    'numberposts' => 10,  
                    'orderby' => 'title',  
                    'order' => 'ASC' );  

    $posts = get_posts($args);  
  
    if ( ! $posts )  
        return $tag;  
  
    foreach ( $posts as $post ) {  
        $tag['raw_values'][] = $post->post_title;  
        $tag['values'][] = $post->post_title;  
        $tag['labels'][] = $post->post_title;  
    }  
      return $tag;  
}  
add_filter( 'wpcf7_form_tag', 'croco_add_post_list_to_contact_form', 10, 2);

Fügen Sie diesen Code zu functions.php hinzu und ersetzen Sie:

  • „book“ mit dem Beitragstyp, den Sie abrufen möchten;
  • „10“ in „numberposts“ mit der maximalen Anzahl von Posts, die Sie in der Dropdown-Liste haben möchten;
  • Richten Sie die Bestellkriterien für „orderby“ und „order“ ein .

Und verwenden Sie den Post-List-Tag in Ihrem Shortcode wie folgt:

[select post-list]