我是新的WordPress和不知道如何实现这一点。
我有一个名为fs_parks
的自定义帖子类型。如果我去fs_parks
,它是一个公园列表,正如预期的那样。如果我点击一个自定义帖子,我会得到一个奇异的帖子,正如预期的那样。
我有一个Map。Map上有一个像www.example.com/fs_parks?osm_geometry=12345
的链接。点击后,我想重定向到一个单一的职位,并显示公园信息的基础meta_key=123456
。我有一个Meta_key称为osm_geometry
,每个公园都有一个唯一的值。
我知道我必须做一些事情,比如:
$args = array(
'post_type' => 'fs_park',
'post_status' => 'publish',
'posts_per_page' => 1,
'meta_query' => array(
array(
'key' => 'osm_geometry',
'value' => get_query_var( 'osm_geometry' ),
'compare' => '=',
)
)
);
$dbResult = new WP_Query($args);
字符串
但我不知道在哪里运行它,以确保它是在一个单一的职位。
任何帮助Mych感激。
1条答案
按热度按时间pgvzfuti1#
要实现您想要的功能,请使用
template_redirect
操作钩子。此钩子在模板加载之前触发,允许您在满足某些条件时执行操作和重定向。试试这个:
字符串
此代码检查两个条件:
a:当前页面是一个单一的
fs_park
帖子吗?B:URL中是否设置了
osm_geometry
参数?如果这两个条件都满足,它将根据
osm_geometry
值查询数据库以查找匹配的公园。如果找到匹配的公园,它将重定向到该公园的单个帖子页面。将代码添加到主题的
functions.php
文件中。