web-dev-qa-db-fra.com

Inclure le chat (HTML, js, css) dans toutes les pages de WordPress

Je dois ajouter un widget de discussion en HTML, css et js sur tous les sites Web WP. J'ai essayé ce qui suit en local (functions.php) et cela a bien fonctionné, mais juste en page d'accueil. Même code en ligne et rien ne s'affiche. Aucun conseil? Merci d'avance :)

<?php
     function add_chat ( ) { 
     ?>
            <script type="text/javascript">
            SERVICE_PATTERN_CHAT_CONFIG = {
                appId: '',
                clientId: '',            /* no need to change this */
                apiUrl: '',
                tenantUrl: '',
                width: 300,
                chatPath: ''

            };
            </script>
            <script type="text/javascript" src="js/snippet.js"></script>
    <?php
        }

add_action ('wp_footer', 'add_chat' );?>
1
Lisa

merci pour votre réponse. Finalement, j'ai réussi à ajouter le chat en utilisant wp_register et wp_enqueue comme ceci:

function add_chat_scripts() {
    wp_register_script( 'chat', get_template_directory_uri() . '/js/chat.js' , array(), true );
    wp_register_script( 'chat-snippet', get_template_directory_uri() . '/js/snippet.js', array('chat') );
    wp_enqueue_script  ('chat');
    wp_enqueue_script('chat-snippet');
}
add_action( 'wp_enqueue_scripts', 'add_chat_scripts' );

Et ça a marché. Mais maintenant, le problème est que le chat n’apparaît que sur la page d’accueil et nulle part ailleurs. Comment puis-je résoudre ça? Vous pouvez voir le chat ici (ça ne marche pas en chrome et firefox)

Je tride le wp_register, etc sur local. En ligne, le script en ligne existe toujours, mais fonctionne quand même.

Merci d'avance

1
Lisa

Essayez d'inclure votre script en ligne au bas de votre fichier snipper.js, puis mettez-le en file d'attente à l'aide de wp_enqueue_scripts():

function my_chat_script() {
    wp_enqueue_script( 'chat-js', 'URL OF SNIPPER HERE', false );
}
add_action( 'wp_enqueue_scripts', 'my_chat_script' );

C’est le bon moyen d’inclure des scripts dans votre WordPress à l’aide du fichier functions.php.

Cependant, si vous insistez pour les ajouter séparément, vous pouvez utiliser wp_add_inline_script():

function chat_script() {
   wp_enqueue_script( 'my-chat-script', 'SNIPPER URL HERE', array(), '1.0' );
   wp_add_inline_script( 'my-chat-script', 'SERVICE_PATTERN_CHAT_CONFIG = {appId: '0ef0636b4c36497b866322a096926049', clientId: 'WebChat',apiUrl: 'https://poc.3d2b.ccaas.becloudsolutions.com:9443/clientweb/api/v1',tenantUrl: '3d2b.com',width: 300,chatPath: ''};' );
}
add_action( 'wp_enqueue_scripts', 'chat_script' );

Cela produira séparément votre extrait et votre script en ligne.

1
Jack Johansson