我创建了新的帖子类型,可以从后端ex更改slug:
register_post_type( \'job\', array(
\'rewrite\' => array(
\'slug\' => $slug
);
));
$slug
是我从后端获取的变量。如果我做正常的要求,它可以正常工作。我使用
get_permalink
作用
但是,在执行ajax请求时出现了问题。我深入研究了代码,得到了普通请求和ajax请求返回的permastruck的不同结果。
在正常请求下,其返回permastruck的权限结果,例如:
[job] => Array
(
[with_front] => 1
[ep_mask] => 1
[paged] => 1
[feed] =>
[forcomments] =>
[walk_dirs] => 1
[endpoints] => 1
[struct] => /lowongan-kerja/%job%
)
URL结果如下所示:
http://localhost/lowongan-kerja/programmer/
但在ajax上,它返回了不同的permastruck:
[job] => Array
(
[with_front] => 1
[ep_mask] => 1
[paged] => 1
[feed] =>
[forcomments] =>
[walk_dirs] => 1
[endpoints] => 1
[struct] => /job/%job%
)
非常奇怪,URL如下所示:
http://localhost/job/programmer/
如何在正常和;ajax请求是否具有相同的URL?
最合适的回答,由SO网友:Jeg Bagus 整理而成
因此,我研究了几个插件,以了解它是如何工作的,并通过使用add\\u permastruct找到解决方案
add_permastruct( \'job\', \'/\' . $slug . \'/%job%\', array(
\'with_front\' => false,
\'ep_mask\' => EP_NONE,
\'paged\' => false,
\'feed\' => false,
\'forcomments\' => false,
\'walk_dirs\' => true,
\'endpoints\' => false,
));
问题解决了:)