Cambiare il nome del 'Template Predefinito'
Sto lavorando sul sito di un cliente e devono selezionare un Template ogni volta che aggiungono una nuova pagina; il "Template Predefinito" non è una scelta valida.
Vorrei rinominare "Template Predefinito" in qualcosa come "-- Seleziona Template --".
Cercando nel codice sorgente di WordPress ho trovato riferimenti a "Template Predefinito" che sono hard-coded, in wp-admin/includes/meta-boxes.php (riga 588) e wp-admin/includes/class-wp-posts-list-table.php (riga 882). Significa che attualmente non c'è modo di cambiarlo senza modificare il codice core (cosa che voglio evitare)?

Esiste un filtro per questo dalla versione 4.1; vedi https://github.com/WordPress/WordPress/commit/7cdbac53e8497b346d1009375d36586fb6e5197c
Ora puoi utilizzare:
add_filter('default_page_template_title', function() {
return __('Il mio nome template predefinito', 'your_text_domain');
});

Sono d'accordo con la risposta fornita da @TravisPflanz, ma se vuoi modificare solo il nome fornito dal core di WordPress puoi utilizzare il seguente filtro.
function yourprefix_filter_gettext( $translation, $text, $domain ) {
if ( $text == 'Default Template' ) {
return __( 'Pagina Dettaglio', 'your-theme-or-plugin-textdomain' );
}
return $translation;
}
add_filter( 'gettext', 'yourprefix_filter_gettext', 10, 3 );
Questo sostituisce la traduzione predefinita del core con una personalizzata.
Per favore rinomina yourprefix
e your-theme-or-plugin-textdomain
secondo la tua configurazione

Se non ho capito male, la tua richiesta è di creare una selezione vuota come predefinita per il menu a discesa dei template di pagina, per poi forzare l'utente a selezionare un template personalizzato.
Questa potrebbe essere una risposta eccessivamente semplificata, ma dovresti creare un template predefinito che sia una scelta valida, per poi offrire altri template come supplemento al "Template Predefinito". Basta che il predefinito sia il layout di pagina più basilare possibile. Questo eliminerà anche la confusione per l'utente. Devi solo determinare quale sarà il layout di pagina più comune e renderlo quello "Predefinito".
Come fa notare Chip nel commento sotto, il "Template Predefinito" esiste sempre, anche se provi a cambiargli nome usando i tradizionali metodi di denominazione dei template. Se cambi il nome del template di page.php, ti verranno semplicemente offerte le opzioni "Template Predefinito" e "Nuovo & Figo Template di Pagina".

Il "Template Predefinito" esiste sempre, come definito dalla Gerarchia dei Template di WordPress per le Pagine statiche.

OK grazie. Come ho commentato sopra, abbiamo davvero bisogno che scelgano un tema poiché non esiste uno stile valido che potremmo impostare automaticamente come "Predefinito" e con cui saremmo soddisfatti. Dovremo lasciarlo così com'è e dire loro di cambiare da "Tema Predefinito" a qualsiasi altro.

Ho riscontrato problemi nell'utilizzare un nuovo page.php nel tema child per definire un template predefinito diverso, quindi invece ho utilizzato un
add_action( 'after_setup_theme'...
per impostare un'opzione globale utilizzando
update_option ('default_template','page-content.php');
Poi ho usato
function replace_page_attributes_metaboxes() {
add_meta_box('post-parent', 'Attributi pagina', 'attributes_meta_box',
'page', 'side', 'high');
remove_meta_box('pageparentdiv', 'page', 'side');
}
add_action( 'admin_menu' , 'replace_page_attributes_metaboxes' );
per eliminare il metabox standard degli Attributi della Pagina che viene utilizzato per definire il Template della Pagina e sostituirlo con una copia del codice (vedi http://wpseek.com/page_attributes_meta_box/). Ho sostituito la sezione del codice che trova il nome del template della pagina con:
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');
}
se nessuna opzione viene trovata, $template viene impostato su false, il che fa sì che il codice sottostante utilizzi il template predefinito standard.
