我想了解使用自定义字段过滤特定类别帖子的方法是什么。我想要的结果与表here完全相同 。我创建了一个这样的列表,在表格单元格中,我插入了三个不同的自定义字段,每个字段包含许多值。如何使用下拉菜单中使用与福布斯杂志和过滤帖子列表相同的结构?
答案 0 :(得分:1)
我认为这个文档很清楚https://codex.wordpress.org/Class_Reference/WP_Meta_Query。
但是我不太确定你要求的是什么。 你想通过自定义字段过滤HTML输出或wordpress数据库吗?
顺便说一句,如果你想过滤html输出,那么使用jQuery,我习惯使用data-attribute过滤表格行中的2000列表;
以下是jQuery文档,https://api.jquery.com/category/selectors/
如果要使用元值过滤和重新排序wordpress表 订购按元值
$args = [
'meta_key' => '*meta_keyword*',
'orderby' => 'meta_value',
'order' => 'ASC'
];
meta_keyword 需要根据你的meta_key进行更改,你可以按照每种类型的值,Date,int等对它们进行排序
过滤表格
$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
答案 1 :(得分:0)
请在我的博客上找到类似的示例。在这里,我使用自定义字段和类别名称进行过滤,并在主页中将其显示为块。
http://www.pearlbells.co.uk/filter-posts-custom-fields-wp_query/
public class Parent
{
public List<Child> Children { get; protected set; }
public void AddChild(Child child)
{
Children.Add(child);
child.Parent = this;
}
public void RemoveChild(Child child)
{
Children.Remove(child);
child.Parent = null;
}
}
答案 2 :(得分:0)
自定义帖子类型名称=软件, 自定义字段名称=版本元
此编码在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; ?>