首页 > 解决方案 > WordPress API 动态路由

问题描述

在此处观看此视频:https ://www.youtube.com/watch?v=Wb5yEs5kV5k&ab_channel=WPCasts

我正在为我正在集成到我的 WordPress 网站的子主题的职业 API 设置动态路由,但在访问动态路由时我只收到404 错误页面(例如:www.example.com/jobs/jobtitle) . 我已经重新保存了永久链接,以防您认为这是问题所在。

在我的 functions.php 文件中,我注册了以下代码:

add_action('init', function(){
  add_rewrite_rule( 'jobs/^[a-zA-Z0-9_.-]*$', 'index.php?job=$matches[1]', 'top' );
});

add_filter( 'query_vars', function( $query_vars ) {
  $query_vars[] = 'job';
  return $query_vars;
} );

add_action( 'template_include', function( $template ) {

  if ( get_query_var( 'job' ) == false || get_query_var( 'job' ) == '' ) {
      return $template;
  }

  return get_template_directory() . '/job.php';
} );

这个子主题没有 index.php。我创建了一个并将其放在此目录中,但它仍然显示404 Error我尝试在add_rewrite_rule函数中将这个 index.php 引用与 category.php (确实存在于这个子主题中)交换,但这也显示了404 Error

我的 job.php 文件只是以下设置路线:

<?php 

get_header();

echo 'hello world';


get_footer();

为什么不显示路线?

标签: phpwordpressapiroutesurl-rewriting

解决方案


推荐阅读