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' );?>
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
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.