Come visualizzare il nome del sito in una pagina o articolo di WordPress
Sto cercando di creare una serie di pagine legali che posso aggiungere a qualsiasi sito WordPress.
In queste pagine, vorrei menzionare il nome del sito. Esiste uno shortcode integrato o qualcosa di simile che posso includere nelle pagine per ottenere questo risultato?
Ad esempio, vorrei creare una Pagina sulla Privacy con una variabile/shortcode che visualizzi il nome del sito, indipendentemente dal sito su cui creo la pagina.
Vorrei poter copiare e incollare il testo, che includerebbe questa variabile/shortcode. Preferirei evitare di modificare il file functions.php
se possibile.

No, non esiste uno shortcode di base per questo.
Il nome del sito è disponibile come opzione, infatti get_option('blogname')
restituisce il nome del blog.
Inoltre, get_bloginfo('name')
/ bloginfo('name')
possono essere usati per ottenere / visualizzare il nome del sito.
Ovviamente, non puoi usare queste funzioni come shortcode di default, quindi se vuoi ottenere questo risultato e non vuoi modificare il functions.php
del tema, hai bisogno di un plugin o di un MU plugin.
Quest'ultima opzione è probabilmente preferibile in un'installazione di rete.
Il plugin
Di seguito è riportato un plugin funzionante (che può essere usato anche come MU plugin) che fa al caso tuo:
<?php
/**
* Plugin Name: Bloginfo Shortcode
* Description: Consente di usare bloginfo() come shortcode.
* Author: Giuseppe Mazzapica
* Author URI: http://gm.zoomlab.it
* License: MIT
*/
add_shortcode('bloginfo', function($atts) {
$atts = shortcode_atts(array('filter'=>'', 'info'=>''), $atts, 'bloginfo');
$infos = array(
'name', 'description',
'wpurl', 'url', 'pingback_url',
'admin_email', 'charset', 'version', 'html_type', 'language',
'atom_url', 'rdf_url','rss_url', 'rss2_url',
'comments_atom_url', 'comments_rss2_url',
);
$filter = in_array(strtolower($atts['filter']), array('raw', 'display'), true)
? strtolower($atts['filter'])
: 'display';
return in_array($atts['info'], $infos, true) ? get_bloginfo($atts['info'], $filter) : '';
});
Il plugin sopra può essere usato per visualizzare (quasi) tutte le informazioni che get_bloginfo()
è in grado di restituire, ho semplicemente rimosso quelle deprecate e sconsigliate.
Utilizzo
Se hai il codice sopra in un MU plugin, o in un plugin attivo, puoi visualizzare il nome del sito in questo modo:
[bloginfo info='name']
Tutte le informazioni che puoi ottenere sono elencate nell'array $infos
.

è assolutamente fantastico! Stavo cercando disperatamente questa soluzione.

Solo per chi non ha idea dei mu-plugins: assicurati di avere una cartella in wp-content chiamata mu-plugins. Se non c'è, creala. La maggior parte delle installazioni WP cercherà questa cartella, quindi dovresti essere a posto. Poi crea un file all'interno chiamato bloginfo.php (o qualsiasi altro nome tu voglia dargli) e inserisci il codice che gmazzap ha postato. Infine usa lo shortcode nella pagina e... ecco fatto!

Anche se non è chiaro se tu abbia o meno la volontà di scavare nel codice, un plugin ti permetterà di utilizzare PHP all'interno di un articolo/pagina direttamente dal pannello di amministrazione.
Questo sembra adatto a te: https://wordpress.org/plugins/php-code-for-posts/ Nota: Non sono coinvolto nello sviluppo di questo plugin.
Grazie ad esso, potresti essere in grado di utilizzare qualsiasi funzione core di WordPress o capacità PHP all'interno dei tuoi articoli/pagine.
Quindi per visualizzare il nome del tuo blog, usa bloginfo( 'name' )
.
Per funzioni e informazioni, il codex di WordPress è utile.
