使用包括过滤器的ACF创建短码

时间:2019-04-11 作者:kuh13

我使用的是高级自定义字段,我的问题是:我有几个露营者,可供不同数量的人使用。现在,我需要一个短代码来显示所有特定人数的所有露营者。短代码应该是这样的[shortcode_name, personens="x"]. 这个x 代表功能应过滤露营者的不同人数。

我的起始代码如下(显示6人的所有露营者):

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\'
            )
        )
    );
谢谢你的帮助。

1 个回复
SO网友:user3135691

这不是完整的工作代码,只是为了说明如何添加短代码和触发函数。

<?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\');
   }

相关推荐

Shortcode to show the code

如何创建一个短代码(或类似的代码)来在页面的某个地方显示页脚?我试过了,但没有结果。。。function show_footer() { return get_footer(); } add_shortcode( \'show_f\', \'show_footer\' ); 或者这个。。。function show_footer() { get_footer(); } add_shortcode( \'show_f\', \'sho