Wordpress - 构建一个页面以使用 URL 从 REST API 中提取数据

Wordpress - Build one Page to use URL to pull data from REST API

对于此问题的任何建议、资源或帮助,我将不胜感激。

我希望能够拥有我的 Wordpress 站点的一部分,我可以在其中解析 URL,然后使用这些值用来自另一个 API 的内容填充页面。

例如:

server.zz/weather/Sydney%20Australia

server.zz/weather/Houston%20Texas

我可以写一个插件来拦截这些请求,能够提取 URL 的结尾,然后调用另一个 API 来获取数据,然后合并到一个展示给访客的模板。

我知道有自定义 Post 类型,但我不确定它们是否是此用例的最佳解决方案。

如我所说,如有任何意见或建议,我们将不胜感激。

我使用 add_rewrite_rule(), add_rewrite_endpoint(), and flush_rewrite_rule().

找到了解决这个问题的方法

对于我之前提供的示例,我在插件中创建了以下代码。

// Define the URL Rewrite Rules
function crw_rewrite_urls(){
  add_rewrite_rule(
    '^weather/(.+)$' ,
    'index.php?weather_location=$matches[1]' ,
    'top'
  );
  add_rewrite_endpoint('weather_location', EP_ROOT);
  flush_rewrite_rules();
}
add_action('init', 'crw_rewrite_urls');

// Initialise the Query Variable
function crw_query_var( $vars ) {
  $vars[] = 'weather_location';
  return $vars;
}

// Check for the Variable and Display Content as needed
function crw_handler() {
  global $wp_query;
  if ( isset( $wp_query->query_vars['weather_location'] ) ) {
    // Call the API, fill the Template here
  }
  return;
}
add_action('template_redirect', 'crw_handler');