get_template_directory_uri () неожиданно начал возвращать неправильное значение - PullRequest
0 голосов
/ 26 сентября 2019

Из ниоткуда на моем сайте, функция 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() возвращаютсято же самое.

Ответы [ 2 ]

2 голосов
/ 26 сентября 2019

Обратите внимание, что get_template_directory_uri() вернет URL-адрес родительской темы. Если вы хотите получить URL-адрес от своей дочерней темы, вам следует использовать get_stylesheet_directory_uri().

Обратите внимание, что обе функции имеют внутренние фильтры, которыепозволяет изменять URL, например, get_template_directory_uri() имеет фильтр с именем template_directory_uri, поэтому возможно, что сторонняя тема или плагин его меняли.

0 голосов
/ 26 сентября 2019

Я разочаровался в исправлении этого.Удаление старой дочерней темы и создание новой с тем же именем вызывало ту же проблему, но создание новой дочерней темы с другим именем почему-то работало.Смена имени темы обратно на yootheme-child снова ломает его.Понятия не имею, почему.

...