0

我有一个关于 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();
}
4

1 回答 1

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]),然后获取您要从中获取文件的位置。

开关获取 url,因此 domain.com/generator,然后从您调用的文件中加载模板。

如果 wordpress 位于子文件夹 (domain.com/wp_root) 中,您可能需要将 url_array[1] 更改为 [2]

于 2013-10-22T10:18:28.840 回答