按meta_value问题排序的Wordpress

时间:2015-05-27 12:15:02

标签: php wordpress advanced-custom-fields

这是我的代码:

<?php 
global $post; 
$path = $post->post_name;

$types = [
    "butiker"      => "butik",
    "restauranger" => "restaurang",
    "service"      => "service",
    "cafeer"       => "cafe"
];

$meta_value = $types[$path];

$posts = get_posts([
    'posts_per_page' => -1,
    'post_type'      => 'Butik',
    'meta_key'       => 'valj_typ',
    'meta_value'     => $meta_value
]);

if( $posts ): ?>

<?php foreach( $posts as $post ): 
                          setup_postdata( $post )
                ?>

                <div class="stores">
                    <a href="<?php the_permalink(); ?>">
                        <div class="img-wrapper">
                            <?php echo get_the_post_thumbnail( $post->ID, 'thumbnail' ); ?>
                        </div>
                        <h2>
                            <?php the_title(); ?>
                        </h2>
                    </a>
                </div>

                <?php endforeach; ?>

当我只选择每个帖子做一个参数时,这很好用,但是我希望能够用多个选项来标记我的帖子,比如butik&amp;服务,现在它打破了。我假设它是因为我的循环检查参数是否与

匹配
$posts = get_posts([
    'posts_per_page' => -1,
    'post_type'      => 'Butik',
    'meta_key'       => 'valj_typ',
    'meta_value'     => $meta_value
]);

但是我希望在数组中有两个参数时列出一个帖子。

希望你明白我的意思。

1 个答案:

答案 0 :(得分:1)

您可以创建meta_query以使用多个键。在这种情况下,不确定post_name是如何做的,但您应该能够获得$meta_value&amp; $meta_value2来自它。

'meta_query' => array(
    array(
        'key' => 'valj_typ',
        'value' => $meta_value
    ),
    array(
        'key' => 'valj_typ',
        'value' => $meta_value2
    ),
);