J'essaie de créer un ensemble de pages juridiques que je peux ajouter à n'importe quel site WordPress.
Dans ces pages, je veux mentionner le nom du site. Existe-t-il un shortcode intégré ou quelque chose que je puisse inclure dans les pages pour permettre cela?
Par exemple, je créerais une page de confidentialité avec une variable/shortcode qui affichera le nom du site, quel que soit le site sur lequel je crée la page.
Couper et coller la langue, qui inclurait cette variable/shortcode. Je veux éviter de modifier le functions.php
si possible.
Non, il n'y a pas de shortcode de base pour cela.
Le nom du site est disponible en option, dans facts get_option('blogname')
renvoie le nom du blog.
De plus, get_bloginfo('name')
/ bloginfo('name')
peut être utilisé pour obtenir/echo le nom du site.
Bien sûr, vous ne pouvez pas utiliser cette fonction par défaut comme un shortcode, donc si vous voulez l'obtenir, et que vous ne voulez pas éditer le thème functions.php
, vous avez besoin d'un plugin plugin ou MU .
Ce dernier est probablement préférable dans network install .
Ci-dessous, un plugin fonctionnel (qui peut également être utilisé comme plugin MU) qui fait l'affaire:
<?php
/**
* Plugin Name: Bloginfo Shortcode
* Description: Allows bloginfo() as a 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) : '';
});
Le plugin ci-dessus peut être utilisé pour sortir (presque) toutes les informations que get_bloginfo()
est capable de renvoyer, je viens de supprimer les informations dépréciées et découragées.
Si vous avez le code ci-dessus dans un plugin MU ou dans un plugin actif, vous pouvez exporter le nom du site de cette manière:
[bloginfo info='name']
Toutes les informations que vous pouvez obtenir sont répertoriées dans le tableau $infos
.
Je ne pense pas que ce soit possible sans modifier le functions.php ou une sorte de plugin.
Vous devez passer la "barrière" entre PHP en arrière-plan et HTML, CSS, etc. au premier plan, ce qui est effectué via le fichier functions.php ou un plugin.
Bien que l'on ne sache pas si vous avez la volonté ou non de creuser dans le code, un plugin vous permettra d'utiliser PHP dans une publication/page directement à partir du panneau d'administration.
Celui-ci semble être correct pour vous: https://wordpress.org/plugins/php-code-for-posts/ Remarque: je ne suis pas impliqué dans le développement de ce plugin.
Grâce à lui, vous pourrez peut-être utiliser n’importe quelle fonction principale de WordPress ou PHP dans vos messages/pages.
Ensuite, pour afficher le nom de votre blog, utilisez bloginfo ('name').
Pour les fonctions et les infos, le codex WordPress est utile.
Pas un shortcode, mais
<?php echo get_option( 'blogname' ); ?>
fait le truc gentiment