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 |1 Answer
Reset to default 0This 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');
}
add_shortcode
codex.wordpress/Function_Reference/add_shortcode – MikeNGarrett Commented Apr 12, 2019 at 2:19