Aggiungere nel tema di Wordpress un link per creare articoli e pagine
Scritto da Davide Bia in PHP 30 settembre 2008
Come per il famoso link “Edit this”, tradotto normalmente in “Modifica”, può essere comodo inserire nel proprio tema un link per scrivere un nuovo articolo o una nuova pagina.
Per quanto riguarda gli articoli la soluzione è semplice, e si risolve con qualche linea di codice.
if(current_user_can('publish_posts'))
echo '<a href="'.get_bloginfo('wpurl').'/wp-admin/post-new.php">'.__('Write article').'</a>';
Per quanto riguarda invece le pagine, può essere interessante utilizzare un codice più complesso, per aggiungere una nuova pagina che abbia la corrente come pagina madre. Per fare ciò è necessario creare una pagina vuota utilizzando la funzione wp_insert_post, passando il parametro post_parent che deve corrispondere all’ID della pagina corrente, quindi redirigere l’utente al back-end.
if(current_user_can('publish_pages'))
{
$post_parent = $post->ID;
if($_GET['publish_subpage'])
{
$newpost = array(
'post_content' => '<p> </p>',
'post_parent' => $post_parent,
'post_status' => 'draft',
'post_title' => '',
'post_type' => 'page'
);
$newpost_ID = wp_insert_post($newpost);
if($newpost_ID)
header('Location: '.get_bloginfo('wpurl').'/wp-admin/page.php?action=edit&post='.$newpost_ID);
else header('Location: '.get_permalink($post->ID));
}
else
{
$publish_link = get_permalink($post->ID);
if(strpos('?', $publish_link))
echo '<a href="'.$publish_link.'&publish_subpage=yes">'.__('Write page').'</a>';
else echo '<a href="'.$publish_link.'?publish_subpage=yes">'.__('Write page').'</a>';
}
}
Questa soluzione prevede la creazione di un link che richiama la stessa pagina con in aggiunta il parametro publish_subpage=yes.
