Wordpress:使用链接动态更改自定义帖子类型查询?

时间:2017-04-04 23:18:29

标签: php wordpress advanced-custom-fields

提前感谢您的任何帮助。构建一个wordpress模板,我有一个基于状态定位代表的部分。所以我设置了一个名为Reps的自定义帖子类型,并使用自定义字段填充每个代表的联系信息,以及一个复选框选择器,其中指定了人员的状态(某些代表被分配到多个状态)。

在Rep Locator页面上,我有一个div,其中包含一个链接列表,每个状态一个,然后是一个内容显示div,希望列出具有ACF复选框选择器分配给它们的任何Reps帖子。使用Reps帖子填充内容div的最简单方法是什么?基于用户点击的状态链接的内容。不想为美国的每个州制作新的页面来手动查询帖子'内容。

我想过试图在链接的网址中传递PHP变量,比如/rep-locator.php?state=california ...有没有办法用wordpress模板中的链接做到这一点?或者像AJAX这样的东西会更合适(在这一点上可能超出我的想法)?

希望这是有道理的,非常感谢你的任何考虑!

2 个答案:

答案 0 :(得分:0)

如果您正在寻找一种快速的方法,那么您可以尝试一下WP插件,博客插入博客插件wordpress.org/plugins/blog-in-blog

您可能还想查看WordPress 3.0菜单子面板(只需转到信息中心>'外观'>'菜单')。

如果您想在没有插件的情况下执行此操作,您可以:   - 使用CPT UI插件创建分类   - 将分类法分配给您的自定义帖子类型   - 将状态列表添加到分类中(作为标记)   - 创建一个名为“category.php”的category template并将其添加到您的模板中。   - 在模板内部,使用术语对象名称(或标记)来更改模板查询:

<?php 

//get the term object
$term_id = get_queried_object_id(); 
$term_object = get_term_by('id', $term_id, 'blog');

//alter the query
$args = array(
	'posts_per_page' => '1',
	'tax_query' => array(
		array(
			'taxonomy' => 'states',
			'field' => 'slug',
			'terms' => $term_object->name,
		),
	),
);

//create the query
$query = new WP_Query( $args );

?>

答案 1 :(得分:0)

为什么不使用自定义分类法而不是州的自定义字段?然后,您可以直接调用给定分类的存档,以显示每个州的代表列表。此外,请求将更容易和更快,因为分类法尤其适用于您的问题。

最后,如果您不想在每次创建代表时在分类法字段中键入状态,则可以使用自定义字段通过使用分类法类型自定义字段选择列表中的状态,然后选择如何显示它。有时候很有用,有时候没用(特别是对于looooong列表)。我建议你把这个自定义字段放在侧边栏中......然后......