WordPress 查询通过自定义字段/键获取帖子和页面

发布于 2024-11-02 19:10:09 字数 171 浏览 1 评论 0原文

我正在开发一个滑块,我将在其中显示从帖子和页面中提取的一些内容(特色图像和摘录)。我想通过一个名为“滑块”的自定义字段来过滤帖子/页面!

因此,如果某些页面和帖子带有“滑块”自定义字段,则只有这些页面和帖子才会显示在滑块中。在wordpress中可以吗?如果是的话又如何呢?

一些指导将不胜感激!

I am working on a slider where I will show some contents(featured image and excerpt) pulled from both posts and pages. I want to filter the posts/pages by a custom field called 'slider'!

So if there are some pages and posts with 'slider' custom field only those will appear in the slider. Is it possible in wordpress? If it is then how?

Some guidance will be appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只怪假的太真实 2024-11-09 19:10:09

您正在寻找的是名为 WP_Query 的类,在 Codex 中有详细的解释。看一下 post_type 参数,它接受一个数组,因此您可以给它一个 array( 'post', 'page' ) 或您想要的任何其他帖子类型去取。

现在元获取可以通过两种方式完成,要么通过新的 meta_query 参数(我相信从 3.1 开始),或者通过 meta_keymeta_value自 3.1 起已弃用。

这是一个粗略的例子(尚未检查这是否有效):

$sider_posts = new WP_Query( array(
    'post_type' => array( 'post', 'page' ),
    'meta_query' => array(
        array(
            'key' => 'slider',
            'value' => 'yes',
            'compare' => '='
        )
    )
) );

while ( $slider_posts->have_posts() ) {
    $slider_posts->the_posts();

    // output the slide here
}

希望这是有道理的。干杯!

〜K

What you're looking for is the class called WP_Query, has got a detailed explanation in the Codex. Take a look at the post_type argument which accepts an array, thus you can give it a array( 'post', 'page' ) or any other post types that you want to fetch.

Now the meta fetch could be done in two ways, either via the new meta_query argument (from 3.1 onwards I believe) or meta_key and meta_value which are deprecated since 3.1.

Here's a rough example (haven't checked if this works):

$sider_posts = new WP_Query( array(
    'post_type' => array( 'post', 'page' ),
    'meta_query' => array(
        array(
            'key' => 'slider',
            'value' => 'yes',
            'compare' => '='
        )
    )
) );

while ( $slider_posts->have_posts() ) {
    $slider_posts->the_posts();

    // output the slide here
}

Hope that makes sense. Cheers!

~ K

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文