个性化阅读
专注于IT技术分析

get_template_directory_uri()突然开始返回错误的值

在我的网站上, 使用我的子主题时, 函数get_template_directory_uri()已经开始返回完全错误的值。刚刚就完成了所有工作, 包括子主题和所有内容。然后突然间, 它开始返回http://example.com/~villageofmanteno/vmanteno-child, 此时应该是http://example.com/~villageofmanteno/yootheme-child。现在, 整个站点已损坏, 所有脚本URL返回404。站点根目录位于/〜villageofmanteno。

这是现在最奇怪的部分, 我得到的URL的最后一部分, vmanteno-child似乎不是来自任何地方。我从来没有在任何地方键入过, 没有文件或主题使用vmanteno命名。 vmanteno这个词从未出现在我的代码中。所以我不知道那可能从哪里来。

我什至尝试删除我的子主题, 重新创建它, 然后复制我的旧文件, 但是它仍然坏了。当我关闭子主题时, 一切都很好。

子主题文件夹称为yootheme-child。

现在, 我的子主题中唯一的模板文件是page-meetings.php, 但是此问题影响到每个页面上的整个网站, 因此与它没有任何关系。

这是我的style.css:

/*
Theme Name: YOOtheme Child
Theme URI: https://yootheme.com
Template: yootheme
Author: YOOtheme
Author URI: https://yootheme.com
Description: A powerful, flexible and elegant website builder that allows you to create complex pages within minutes and customize every aspect of the theme.
Version: 1.21.6.1569423942
Updated: 2019-09-25 15:05:42
*/

和我的functions.php:

<?php
// Exit if accessed directly
if ( !defined( 'ABSPATH' ) ) exit;

// BEGIN ENQUEUE PARENT ACTION
// AUTO GENERATED - Do not modify or remove comment markers above or below:

if ( !function_exists( 'chld_thm_cfg_locale_css' ) ):
    function chld_thm_cfg_locale_css( $uri ){
        if ( empty( $uri ) && is_rtl() && file_exists( get_template_directory() . '/rtl.css' ) )
            $uri = get_template_directory_uri() . '/rtl.css';
        return $uri;
    }
endif;
add_filter( 'locale_stylesheet_uri', 'chld_thm_cfg_locale_css' );

// END ENQUEUE PARENT ACTION

我还要提到, WordPress地址和站点地址都设置为正确的值http://example.com/~villageofmanteno。

编辑:get_template_directory_uri()和get_stylesheet_directory_uri()返回相同的东西。


#1


请注意, get_template_directory_uri()将返回父主题的URL, 如果要从子主题获取URL, 则应使用get_stylesheet_directory_uri()。

请注意, 这两个函数还具有允许更改URL的内部过滤器, 例如get_template_directory_uri()具有名为template_directory_uri的过滤器, 因此第三者主题或插件可能已对其进行了更改。


#2


我已放弃解决此问题。删除旧的子主题并创建具有相同名称的新主题会导致相同的问题, 但是以某种方式创建具有不同名称的新的子主题是可行的。将主题名称改回yootheme-child会再次破坏它。不知道为什么。

赞(0)
未经允许不得转载:srcmini » get_template_directory_uri()突然开始返回错误的值

评论 抢沙发

评论前必须登录!