wordpress - 如何显示带有插件(高级自定义字段)字段组的帖子?
问题描述
我有一个php/wordpress代码(存在于abc.php 文件中),如下所示,它显示特定大小的图像。
php/wordpress(在abc.php 文件中):
<ul id="list-thumbs" class="list-grid">
<?php
while ( have_posts() ) : the_post();
?>
<li class="list-grid__thumb shows-grid__item">
<a class="list-grid__img-link" href="<?php echo esc_url( get_the_permalink() ); ?>" tabindex="0">
<?php if ( has_post_thumbnail() ) { ?>
<?php
$image_id = get_post_thumbnail_id( get_the_ID() );
WORLD\Images\the_img_fit_figure( $image_id, 'list-grid__image', '(min-width: 450px) 50vw, 70vw', false ); ?>
<?php } ?>
</a>
</li>
<?php endwhile; ?>
</ul>
上面的代码从上到下显示大约 30-40 张图像,一行中有 4 张图像。
(a)所有这些图片都是 wordpress 中与post_type hello-world相关的特色图片
(b)每个帖子都有两个字段,行视图 (in_row_view)和列视图 (in_column_view)来自高级自定义字段插件。我不确定我们是否可以将这两个字段称为自定义字段。
(c) Row View和Column View都是开关,可以启用Yes或No。默认情况下,它设置为No。
(d)对于行视图,我正在使用:
if(get_field('in_row_view' ) == '1'){ }
对于列视图,我正在使用:
if( get_field('in_column_view' ) == '1'){ }
我想要实现的是我想显示那些启用了Row View开关的帖子Yes。
问题陈述:
我想知道我需要在上面的 php/wordpress 代码中进行哪些更改,以便它只显示那些将Row View开关启用为Yes的帖子。
可能我需要将此代码集成到上面if(get_field('in_row_view' ) == '1'){ }
的php/wordpress
代码中。
解决方案
快速/草率的解决方案:
<ul id="list-thumbs" class="list-grid">
<?php
while ( have_posts() ) : the_post();
// This will skip the loop
if(get_field('in_row_view' ) != '1') { continue; }
?>
<li class="list-grid__thumb shows-grid__item">
<a class="list-grid__img-link" href="<?php echo esc_url( get_the_permalink() ); ?>" tabindex="0">
<?php if ( has_post_thumbnail() ) { ?>
<?php
$image_id = get_post_thumbnail_id( get_the_ID() );
WORLD\Images\the_img_fit_figure( $image_id, 'list-grid__image', '(min-width: 450px) 50vw, 70vw', false ); ?>
<?php } ?>
</a>
</li>
<?php endwhile; ?>
</ul>
...“快速解决方案”的问题在于它不会呈现所需的“每页帖子”。更简单的方法是在查询级别包含或排除meta_query
... 这可以通过使用pre_get_posts
钩子“在飞行中”抓取查询来完成。
更优雅的解决方案
function pw_filter_query( $query ) {
// Your conditions for NOT applying the meta query ... use wp conditionals! :)
if( !$query->get('post_type') != 'your_post_type ) { return $query; }
$query->set('meta_key', 'ecpt_color');
$query->set('meta_value', 'green');
}
}
add_action('pre_get_posts', 'pw_filter_query', 9999);
推荐阅读
- augmented-reality - 此应用程序需要在虚幻游戏中使用最新版本的arcore
- python - 尽管定义了变量,但出现名称未定义错误
- mysql - MySQL 中的递归查询(找到 Bob 的直接和间接主管)?
- html - SVG 动画圆圈垂直和水平居中
- python - 为什么使用 `as_index=False` 的 `groupby` 甚至比使用 `reset_index` 的 `groupby` 还要慢
- f# - 在 F# Akka.Net 中区分远程参与者之间的联合
- android - 如何使用NFC标签直接打开APP安卓
- scala - 有没有更好的方法来测试 Scala 中的泛型类型(没有类型参数)?
- docker - 在视频下载器中使用 ffmpeg 时出错:'ERR: spawn ./db/ffmpeg ENOENT'
- python - python-urllib3 与包 python-backports-ssl_match_hostname 中的文件冲突