最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

create a shortcode with acf including a filter

matteradmin7PV0评论

I am using advanced custom fields and my problem is: I have several campers for a different number of persons. Now I need a shortcode to display all campers for all certain numbers of persons. The shortcode should be like this [shortcode_name, personens="x"]. The x stands for the different number of persons for which the function should filter the campers.

My starting code is the following (shows all campers for 6 persons):

function modell_nach_personenzahl_variabel() { 

    $args = array(
        'post_type'   => 'womos',
        'order'       => 'ASC',
        'orderby'     => 'personen',
        'field'    => $atts['personen'],
        'numberposts' => -1,
        'meta_query' => array (
            array (
                'key' => 'personen',
                'value' => '6'
            )
        )
    );

Thanks for the help.

I am using advanced custom fields and my problem is: I have several campers for a different number of persons. Now I need a shortcode to display all campers for all certain numbers of persons. The shortcode should be like this [shortcode_name, personens="x"]. The x stands for the different number of persons for which the function should filter the campers.

My starting code is the following (shows all campers for 6 persons):

function modell_nach_personenzahl_variabel() { 

    $args = array(
        'post_type'   => 'womos',
        'order'       => 'ASC',
        'orderby'     => 'personen',
        'field'    => $atts['personen'],
        'numberposts' => -1,
        'meta_query' => array (
            array (
                'key' => 'personen',
                'value' => '6'
            )
        )
    );

Thanks for the help.

Share Improve this question edited Apr 12, 2019 at 7:01 nmr 4,5672 gold badges17 silver badges25 bronze badges asked Apr 11, 2019 at 22:01 kuh13kuh13 51 bronze badge 1
  • Take a look at add_shortcode codex.wordpress/Function_Reference/add_shortcode – MikeNGarrett Commented Apr 12, 2019 at 2:19
Add a comment  | 

1 Answer 1

Reset to default 0

This is not the full working code, just to illustrate how to add the shortcode and trigger the function.

<?php

   // Check if ACF is available
   if(function_exists('get_field')) {
       function modell_nach_personenzahl_variabel() {
           $args = array(
               'post_type'   => 'womos',
               'order'       => 'ASC',
               'orderby'     => 'personen',
               'field'    => $atts['personen'],
               'numberposts' => -1,
               'meta_query' => array (
                array (
                    'key' => 'personen',
                    'value' => '6'
                )
            )
        );

        $query = new WP_Query($args);

        if($query->have_posts()):
            while($query->have_posts()):

             // for testing purposes
             echo "<pre>";
                print_r($query->the_post);
             echo "</pre>";

             ?>
                <h1><?php the_title(); ?></h1>
                <!-- get the rest of the fields -->

            <?php
            endwhile;

        endif;

       // Add the shortcode
       add_shortcode('filter-camper-nach-personen', 'modell_nach_personenzahl_variabel');
   }

Articles related to this article

Post a comment

comment list (0)

  1. No comments so far