Come impostare lo slug del post quando si usa wp_insert_post()?
16 ago 2017, 16:11:23
Visualizzazioni: 14.3K
Voti: 18
Il mio tema utilizza un template personalizzato per visualizzare alcuni contenuti. Per usare questo template, aggancio l'azione after_switch_theme
per creare una mia pagina quando il tema viene attivato, e poi assegno questo template alla pagina.
Ecco come lo faccio:
$new_page_title = __('Pagina personalizzata'); // Titolo della pagina
$new_page_content = ''; // Contenuto vuoto
$new_page_template = 'page-custom.php'; // Template personalizzato
$page_check = get_page_by_title($new_page_title);
$new_page = array(
'post_type' => 'page', // Tipo di post: pagina
'post_title' => $new_page_title, // Titolo
'post_content' => $new_page_content, // Contenuto
'post_status' => 'publish', // Stato: pubblicato
'post_author' => 1, // Autore (ID 1)
'post_slug' => 'il-mio-slug-personalizzato' // Slug personalizzato
);
if( !isset($page_check->ID) ){
$new_page_id = wp_insert_post($new_page);
if(!empty($new_page_template)){
update_post_meta($new_page_id, '_wp_page_template', $new_page_template);
}
}
Tuttavia, lo slug della pagina segue sempre il titolo. Significa che lo slug è sempre pagina-personalizzata
. Sembra che wp_insert_post()
non supporti lo slug del post, dato che non è presente nella documentazione.
Devo impostare lo slug perché il titolo della pagina è molto comune e potrebbe già esistere un'altra pagina con lo stesso slug.
Come posso fare?

Johansson
15.4K
Tutte le risposte alla domanda
1
Domande correlate
1
risposte