2015-02-08 4 views
0

я пытаюсь создать детскую тему, чтобы переопределить некоторые функции в моей родительской темеWordPress дочерние темы include_once

у меня есть это в родительском functions.php темы

include_once('admin/functions-extended/fn-typography.php'); //User Typography 

Это моя попытка:

include_once(get_stylesheet_directory().'admin/functions-extended/fn-typography.php'); 

но не работает

более подробную информацию

я пытаюсь добавить пользовательские шрифты в этом файле, но в детской теме кода в родительском Fn-typography.php является

function mgm_get_google_fonts() { 
// Google Font Defaults 
$google_faces = array(
    "Abel" => "Abel", 
    "Abril Fatface" => "Abril Fatface", 
    "Aclonica" => "Aclonica", 
    "Acme" => "Acme", 
    "Actor" => "Actor", 
    "Adamina" => "Adamina", 
    "Advent Pro" => "Advent Pro", 
    "Aguafina Script" => "Aguafina Script", 
    "Aladin" => "Aladin", 
    "Aldrich" => "Aldrich", 
    "Alegreya" => "Alegreya", 
    "Alegreya SC" => "Alegreya SC", 
    "Alex Brush" => "Alex Brush", 
    "Alfa Slab One" => "Alfa Slab One", 
    "Alice" => "Alice", 
    "Alike" => "Alike", 
    "Alike Angular" => "Alike Angular", 
    "Allan" => "Allan", 
      ); 
return $google_faces; 
    } 

я хочу удалить эти шрифты и добавьте другие шрифты

+0

Вы пытаетесь использовать fn-typography.php или переопределить его? – bobdye

+0

@bobdye im пытается переопределить его –

+0

У вас есть файл с тем же именем в той же структуре каталогов в вашей дочерней теме? Кроме того, разрешает ли родительская функция.php? Если вы просто включите функцию снова, вы получите ошибку «Duplicate function name». – bobdye

ответ

0

В коде, который вы показываете, mgm_get_google_fonts() на самом деле не загружает шрифты, но, по-видимому, предоставляет список шрифтов для какой-либо другой функции для загрузки.

Комментарий в родительской функции описывает это как предоставление значений по умолчанию, поэтому подразумевается, что есть способ переопределить их. Из просмотра родительских функций.php вы, вероятно, можете выяснить, как вы можете это сделать.

Например, если родительский раздел позволяет переопределить эту функцию, то, вероятно, что-то вроде:

if (!function_exists('mgm_get_google_fonts') { 
    ...the function definition you have above... 
} 

Это тесты, чтобы увидеть, если вы определили функцию того же имени в детской теме и использует ваши, если у вас есть.

Если родительская тема этого не делает, вам нужно посмотреть, где вызывается mgm_get_google_fonts, и отслеживать, как переопределить.

0

Что бы ни случилось в родительском файле functions.php также будет выполняться вашей дочерней темой, поэтому вам не нужно включать этот файл отдельно, потому что он будет включен при активации вашей дочерней темы.

Если вы хотите изменить поведение в файле, включенном вашей темой, который вы не можете переопределить через get_template_part (например, файлы библиотеки PHP), то вам следует искать технику, которая была создана для вас, если она есть , В основном крючок.

Смежные вопросы