这是我的问题。我的公司需要在我们的wordpress网站上添加供应商数据库。现有的插件都不会接近我们需要的东西,而且我们已经有了一个包含所有信息的mysql数据库,所以我们需要创建一个插件或其他东西来做我们需要的。
这些网址需要直接访问并且有SEF网址。所以,例如:
mysite.com/vendors/
mysite.com/vendors/pipe-manufacturers/
mysite.com/vendor/bobs-pipes/
而且,自定义内容需要出现在wordpress模板中。
实际上有两种选择:
1)找到一种在wordpress之外编写应用程序的方法,但找到一种方法来引导wordpress来显示页眉,页脚和侧边栏。
2)从wordpress内部运行应用程序。
所以我选择了#2选项。我创建了一个名为“vendor.php”的新模板文件,并开始工作。我将此代码添加到我的主题的functions.php中:
add_filter( 'template_include', 'xyz_template_check' );
function xyz_template_check() {
global $template;
$rqst = $_SERVER['REQUEST_URI'];
$ra = split("/", $rqst);
if ($ra[1] == "vendors") {
$template_file = get_stylesheet_directory() . '/vendors.php';
return $template_file;
}
return $template;
}
以上代码的作用是,如果它将“供应商”这个词视为网站名称后面的网址的第一部分,它会将您发送给vendor.php。这完美地工作....
...除外
Wordpress认为找不到该页面。它返回404标题,而不是FOUND到页面标题和痕迹。
使用永久链接“/ vendors /”添加名为“供应商数据库”的PAGE可修复主页面。但是会有数百个供应商和不同的类别。我不能为每个人创建一个自定义页面。这需要是动态的。
那么,我如何让wordpress给出200,并提供可接受的页面标题,面包屑等。
甚至不让我开始使用危险的wp_title过滤器。这没有记录的工作。虽然,我刚想到这可能是Wordpress SEO的问题(wp_title过滤器问题)。
有人对此有所了解吗?
答案 0 :(得分:0)
好的,这个。解决方案是使用重写api,如上所述,查找模式/供应商/,让它知道它是一个有效的URL。加上我现有的模板覆盖,这就是我需要的。