我可以更改GET_TEMPLATE_DIRECTORY_URI()吗?

时间:2015-12-14 作者:user1778856

这是对Can I put my Wordpress theme files in another folder?

我发现如下

...\\wp-content\\themes\\MyTheme
  - \\dist
  - \\lib
  - \\src
  - \\wp - All my Wordpress files like index.php, style.css, functions.php, etc.
  - .gitignore
  - README.md
  - many other non-Wordpress files
通常可以更好地将Wordpress文件分组到自己的文件夹中。然而,它也发生了变化get_template_directory_uri() 现在指向...\\themes\\MyTheme\\wp 这意味着在我的header.php 我在打电话

<script src="<?php echo get_template_directory_uri(); ?>/../dist/bundle.js"></script>
我想要get_template_directory_uri() 指向...\\themes\\MyTheme 所以我可以避免使用/../ 道路上的东西。

4 个回复
SO网友:Milo

如果你看看函数in source, 您将看到template_directory_uriyou can filter 修改输出。

return apply_filters( \'template_directory_uri\', $template_dir_uri, $template, $theme_root_uri );

SO网友:Bradan

我想提供一个更详细的答案,因为我发现“add\\u filter()”非常令人沮丧。

为了编辑get\\u template\\u directory\\u uri()的钩子,您需要将过滤器添加为

add_filter(\'template_directory_uri\', \'yourFunction\', 10, 2);
其中function是要调用以编辑字符串的函数,如下所示:

function yourFunction($string) {
    //Modify the string here
    return $string;
}
希望这能帮助将来遇到这个问题的人!

SO网友:Thomas Withers

您可以在标题的开头创建一个变量。php并将其值字符串指定为所需的路径。。。。

<?php $dir = your_path_here ?>
理论上这应该是可行的:)最好不要更改wordpress的内容,因为它可能会在其他地方使用

SO网友:zundi

当我迁移到另一个域名的站点时,我正在搜索这个。我通过搜索数据库解决了这个问题。这些值在wp_options 数据库的表。在我的情况下option_name 等于siteurlhome. 我更新了值,现在一切正常。

相关推荐

子主题中指向子主题的GET_TEMPLATE_DIRECTORY_URI

根据文件(https://codex.wordpress.org/Child_Themes 和https://developer.wordpress.org/reference/functions/get_template_directory_uri/), 我的理解是get_template_directory_uri() 如果在子主题中使用,将返回父主题目录的URL。但这并没有发生在我身上。在我试图发展的儿童主题中,当我使用get_template_directory_uri() 它返回子主题目录的UR