我有关于wp_rewrite的问题,它无法正确显示,
我需要制作这个网址
eduedu/wp-content/plugins/workwork/admin/templates/tcpdf/samp/flash.php
到
eduedu/generator
使用.htaccess
时有效,问题是,当插入到插件文件夹中时,它不起作用,htaccess必须放在wordpress的根文件夹中。所以我想到了wp_rewrite
。
这是我的代码,我在页面上添加了这个代码,它会重定向到
eduedu/wp-content/plugins/workwork/admin/templates/tcpdf/samp/flash.php
我不确定它是否正确,任何想法?
add_action('generate_rewrite_rules', 'cs_rewrite_rules');
add_filter('init', 'eduFlush');
function cs_rewrite_rules() {
global $wp_rewrite;
$new_non_wp_rules = array(
'^generator/?$' => 'eduedu/wp-content/plugins/workwork/admin/templates/tcpdf/samp/flash.php',
);
$wp_rewrite->non_wp_rules += $new_non_wp_rules;
}
function eduFlush(){
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
答案 0 :(得分:0)
也许这些方面的东西会有所帮助:
function site_router() {
global $url_array;
$url_array = explode("/",$_SERVER['REQUEST_URI']);
$route = $url_array[1];
$template_dir = 'wp-content/plugins/workwork/admin/templates/tcpdf';
switch($route) {
case 'generator':
load_template($template_dir.'/samp/flash.php');
die();
break;
}
}
add_action( 'send_headers', 'site_router');
它获取当前的URL数组(domain.com/url_array[1]),然后它将获取您要从中获取文件的位置。
交换机获取网址,以及domain.com/generator,然后从您调用的文件中加载模板。
如果wordpress在子文件夹(domain.com/wp_root)中,您可能需要将url_array [1]更改为[2]