【问题标题】:Best way to have script urls in WordPress在 WordPress 中拥有脚本网址的最佳方式
【发布时间】:2018-01-10 03:27:14
【问题描述】:

我正在开发自己的主题供私人使用,并且我有很多脚本使用带有额外参数的 url。

我发现我自己在我的网站上添加了很多空白页面,只是为了能够将一些 php 文件连接到特定的 url,这样我就可以将参数发送到那个特定的地址。

有没有更好的方法可以让我拥有可以与特定 php 文件相关联的 url,而无需向网站添加页面或其他内容。就像安装主题时开箱即用一样?

【问题讨论】:

  • 你想用url参数控制显示哪个模板?或者你想用这些参数做什么?
  • 并非如此。只需使用一些 php 文件来处理东西。前面的用户不应该使用这些网址。
  • 在这种情况下,我只会使用主题的functions.php 文件。该文件由 WordPress 自动包含,因此我会根据 url 参数根据需要需要其他 php 文件。
  • 是的,但我需要一个 url 来将参数发送到这些脚本。我也不希望它们在每个页面加载时都加载所有功能文件。

标签: php wordpress scripting


【解决方案1】:

你应该试试这样的代码:

//page url: http://www.example/myurl

add_action( 'init', 'my_rewrite' );
function my_rewrite() {
    global $wp_rewrite;

    //wp-content/plugins/myplugin/myurl.php
    add_rewrite_rule('myurl/$', WP_PLUGIN_URL . '/myplugin/myurl.php', 'top');
    $wp_rewrite->flush_rules(true);
}

更多信息

https://developer.wordpress.org/reference/classes/wp_rewrite/ https://codex.wordpress.org/Class_Reference/WP_Rewrite

【讨论】:

  • 这很好。因此,如果我想例如 domain.com/myurl/ 激活我的主题根文件夹中的 php 文件 test.php 。这个工作: add_rewrite_rule('myurl/$', get_template_directory() . 'test.php'); ?
  • 另外 - 会不会弄乱我的其他自定义类型 url 或其他我需要担心的事情?
  • 使用这个:add_rewrite_rule('myurl/$', get_template_directory() . '/test.php');
  • 谢谢。它不适合我。有什么想法会出什么问题,或者我可以做哪些测试来获得方向?
  • 我想在 htaccess 文件中看到一些变化吗?
猜你喜欢
  • 2010-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多