簡體   English   中英

使用自定義字段過濾 WordPress 帖子

[英]Filter WordPress posts with custom fields

我想了解使用自定義字段過濾特定類別帖子的方法是什么。 我想要的結果和這里的表格完全一樣。 我創建了一個這樣的列表,並在表格單元格中插入了三個不同的自定義字段,每個字段都包含多個值。 如何使用與上述福布斯雜志列表相同的結構並使用下拉菜單過濾帖子?

我認為這個文檔非常清楚https://codex.wordpress.org/Class_Reference/WP_Meta_Query

但是我不太確定你在要求什么。 你想通過自定義字段過濾 HTML 輸出還是你的 wordpress 數據庫?

順便說一句,如果你想過濾 html 輸出,然后使用 jQuery,我曾經使用數據屬性過濾表行中的 2000 多個列表;

這是 jQuery 文檔, https://api.jquery.com/category/selectors/

如果要使用元值過濾和重新排序 wordpress 表按元值排序

    $args = [
        'meta_key' => '*meta_keyword*',
        'orderby' => 'meta_value',
        'order' => 'ASC'
    ];

meta_keyword需要根據您的meta_key進行更改,您幾乎可以按每種類型的值、日期、整數等對它們進行排序

過濾表格

$args['meta_query'] = [
    [
        'key' => 'meta_key',
        'value' => 'filter_value',
        'type' => 'str*',
        'compare' => '=*'
    ]
];
  • '*' 取決於值類型和您的邏輯

這里有一些信息https://wordpress.stackexchange.com/questions/30241/wp-query-order-results-by-meta-value另一個答案https://stackoverflow.com/a/24253081/3392555

請在我的博客上找到類似的例子。 在這里,我使用自定義字段和類別名稱進行過濾,並將它們顯示為主頁中的塊。

http://www.pearllbells.co.uk/filter-posts-custom-fields-wp_query/

$args = array(
    'category_name' => 'courses',
    'orderby'       => 'menu_order',
    'order'         => 'ASC',
    'meta_query' => array(
        array(
            'key'     => 'front_page',
            'value'   => 'yes',
            'compare' => 'LIKE',
        ))

);

$the_query = new WP_Query( $args );

自定義帖子類型名稱 = 軟件,自定義字段名稱 = 版本元

這個編碼是在 single.php 上完成的。 $version 用於調用 single.php 上的自定義字段值並通過自定義字段值過濾數據。

<?php $args = array('post_type' => 'software', 'showposts'=>'4', 'category_name' => '', 'orderby'   => '','meta_query' => array(array('key' => 'version_meta','value' => $version = get_post_meta($post->ID, 'version_meta', true))));
       $loop = new WP_Query( $args );
       while ( $loop->have_posts() ) : $loop->the_post();?>
        <div class="post_desc">
            <div class="thumb thmbhome3">
                <?php the_post_thumbnail();?>
            </div>
            <div class="title_des edu tthome3">
                <div class="title edu_titl ttshome3">
                    <h1><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h1>
                </div>
            </div>

        </div>

    <?php endwhile; ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM