Изменение названия 'Default Template' (Шаблон по умолчанию)
Я работаю над сайтом клиента, и при добавлении новой страницы нужно выбирать шаблон; "Default Template" (Шаблон по умолчанию) не является подходящим вариантом.
Я хотел бы переименовать "Default Template" на что-то вроде "-- Выберите шаблон --".
При поиске в кодовой базе WordPress я обнаружил, что упоминания "Default Template" жестко прописаны в файлах wp-admin/includes/meta-boxes.php (строка 588) и wp-admin/includes/class-wp-posts-list-table.php (строка 882). Означает ли это, что в настоящее время нет способа изменить это без модификации core-кода (чего я хотел бы избежать)?

Начиная с версии 4.1 для этого существует фильтр; см. https://github.com/WordPress/WordPress/commit/7cdbac53e8497b346d1009375d36586fb6e5197c
Теперь вы можете использовать:
add_filter('default_page_template_title', function() {
return __('Мое название шаблона по умолчанию', 'your_text_domain');
});

Я согласен с ответом, который дал @TravisPflanz, но если вы хотите изменить только имя, предоставляемое ядром WordPress, вы можете использовать следующий фильтр.
function yourprefix_filter_gettext( $translation, $text, $domain ) {
if ( $text == 'Default Template' ) {
return __( 'Страница деталей', 'your-theme-or-plugin-textdomain' );
}
return $translation;
}
add_filter( 'gettext', 'yourprefix_filter_gettext', 10, 3 );
Это заменяет стандартный перевод ядра на ваш собственный.
Пожалуйста, переименуйте yourprefix
и your-theme-or-plugin-textdomain
в соответствии с вашей конфигурацией

Если я правильно понял ваш запрос, вы хотите создать пустой выбор в выпадающем списке шаблонов страниц по умолчанию, а затем заставить пользователя выбрать пользовательский шаблон страницы.
Возможно, это слишком упрощённый ответ, но вам следует создать шаблон по умолчанию, который будет допустимым выбором, а затем предложить другие шаблоны в дополнение к "Шаблону по умолчанию". Просто сделайте шаблон по умолчанию максимально простым макетом страницы. Это также устранит путаницу для пользователя. Просто определите, какой макет страницы будет наиболее распространённым, и сделайте его "Шаблоном по умолчанию".
Как отмечает Чип ниже, "Шаблон по умолчанию" всегда существует, даже если вы просто попытаетесь изменить его название с помощью традиционных методов именования шаблонов. Если вы измените название шаблона page.php, вам просто будут предложены варианты "Шаблон по умолчанию" и "Новый и крутой шаблон страницы".

"Шаблон по умолчанию" всегда существует, как определено в Иерархии шаблонов WordPress для статических Страниц.

Хорошо, спасибо. Как я уже отметил выше, нам действительно нужно, чтобы они выбрали тему, так как нет хорошего стиля, который мы могли бы автоматически установить как "По умолчанию" и быть довольными. Нам придется оставить все как есть и сказать им, чтобы они изменили "Тему по умолчанию" на любую другую.

Я столкнулся с проблемами при использовании нового файла page.php в дочерней теме для определения другого шаблона по умолчанию, поэтому вместо этого я использовал
add_action( 'after_setup_theme'...
для настройки глобальной опции с помощью
update_option ('default_template','page-content.php');
Затем я использовал
function replace_page_attributes_metaboxes() {
add_meta_box('post-parent', 'Атрибуты страницы', 'attributes_meta_box',
'page', 'side', 'high');
remove_meta_box('pageparentdiv', 'page', 'side');
}
add_action( 'admin_menu' , 'replace_page_attributes_metaboxes' );
чтобы удалить стандартный метабокс "Атрибуты страницы", который используется для определения шаблона страницы, и заменить его копией кода (см. http://wpseek.com/page_attributes_meta_box/). Я заменил часть кода, которая находит название шаблона страницы, на:
if ( ($post->post_type == 'page') && (count( get_page_templates() ) != 0) ) {
if (!empty($post->page_template))
$template = $post->page_template;
else
$template = get_option ('default_template');
}
если опция не найдена, $template устанавливается в false, что заставляет базовый код использовать стандартный шаблон по умолчанию.
