You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据查询字符串元值重定向到WordPress自定义单篇fs_parks文章?

实现方案

首先,你需要先注册osm_geometry这个自定义查询变量——WordPress默认不识别这个参数,不注册的话get_query_var拿不到对应值。把下面代码加到主题的functions.php文件里:

function register_osm_geometry_query_var( $vars ) {
    $vars[] = 'osm_geometry';
    return $vars;
}
add_filter( 'query_vars', 'register_osm_geometry_query_var' );

接下来,把你的查询逻辑放到template_redirect钩子中执行——这个钩子是WordPress准备加载页面模板前触发的,刚好适合做重定向操作。同样把代码加到functions.php:

function redirect_to_park_by_osm_geometry() {
    // 只在fs_parks的归档页执行,避免干扰其他页面
    if ( is_post_type_archive( 'fs_parks' ) ) {
        $osm_id = get_query_var( 'osm_geometry' );
        // 如果没有osm_geometry参数,直接返回
        if ( empty( $osm_id ) ) {
            return;
        }

        $args = array(
            'post_type'      => 'fs_parks', // 注意和你的自定义文章类型名称保持一致,原代码写的fs_park是错的
            'post_status'    => 'publish',
            'posts_per_page' => 1,
            'meta_query'     => array(
                array(
                    'key'     => 'osm_geometry',
                    'value'   => $osm_id,
                    'compare' => '=',
                )
            )
        );
        $dbResult = new WP_Query( $args );

        // 如果找到对应的文章,跳转到详情页
        if ( $dbResult->have_posts() ) {
            $dbResult->the_post();
            wp_safe_redirect( get_permalink() );
            exit; // 必须加exit终止后续代码执行
        } else {
            // 没找到对应内容的情况,示例跳回fs_parks归档页,也可以改成跳404
            wp_safe_redirect( get_post_type_archive_link( 'fs_parks' ) );
            exit;
        }
        // 重置查询环境,避免影响其他逻辑
        wp_reset_postdata();
    }
}
add_action( 'template_redirect', 'redirect_to_park_by_osm_geometry' );

注意几个关键细节:

  • 原代码里的post_type写的是fs_park,但你的自定义文章类型是fs_parks,必须保持一致,否则查询会失败
  • 用wp_safe_redirect比原生header()更安全,符合WordPress开发规范
  • 执行重定向后一定要加exit,防止后续代码继续运行导致异常
  • 查询结束后调用wp_reset_postdata(),重置查询环境避免影响页面其他逻辑

这样当用户点击www.example.com/fs_parks?osm_geometry=12345时,就会自动跳转到对应的公园详情页了。

内容的提问来源于stack exchange,提问作者spreaderman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:02:20