-
投稿者投稿
-
2021年8月26日 10:53 AM #85425
【お使いの Snow Monkey のバージョン】15.4.0
【お使いの Snow Monkey Blocks のバージョン】12.1.0
【お使いの Snow Monkey Editor のバージョン】 6.0.0
【お使いのブラウザ】chrome,safari,edge
【当該サイトのURL】https://balloon-deko.com/### 実現したいこと
いつもありがとうございます。
そしていつも質問ばかりすみません‥。上記サイトで「チャネルトーク」というツールを使って顧客誘導を図りたくてまずはお知らせバーにonclickでチャットが自動で開くようにしたいと思ったのですがうまくいきません。
一瞬開いたように見えるのですがすぐエラー表示になります。
どこが間違っているかわかりますでしょうか?お知らせバーリンクURL
onclick="ChannelIO(\'showMessenger\')"
子テーマの
function.php
に以下記載add_filter( 'snow_monkey_template_part_render', function( $_html, $_slug ) { if ( 'template-parts/common/infobar' === $_slug ) { $_html = str_replace( '<a class="p-infobar__inner"', '<a class="p-infobar__inner"onclick="ChannelIO(\'showMessenger\')"', $_html ); } return $_html; }, 10, 2 );
タグなどはこちらを参考にしました。
また以前のサポートフォーラムで参考になった記事があったので、こちらでコード記述しましたが、プログラミング知識が乏しいこともあり上手くいってないのだと思います。
また、お知らせバーと固定ページや投稿記事などはまた設定の方法変わってきますよね?
この辺も教えていただければありがたいのですが、別投稿の方がよければそちらで対応させていただきます。
何卒よろしくお願いいたします。♥ 0いいねをした人: 居ません2021年8月26日 12:32 PM #85450なぜかリンク先も
onclick=ChannelIO('showMessenger')
になっているようですね。それでそんなリンク先はないということで404になるようです。href="http://onclick=ChannelIO('showMessenger')"
カスタマイザーのお知らせバーのリンク先の設定で
onclick=ChannelIO('showMessenger')
を入力されてたりしますか?♥ 0いいねをした人: 居ません2021年8月26日 3:49 PM #85481返信ありがとうございます!
onclick=”ChannelIO(\’showMessenger\’)”
と記述しています。何か根本的な部分で間違ってますか…?
♥ 0いいねをした人: 居ません2021年8月26日 4:05 PM #85484はい、そういうことになります。最終的には下記の HTML にならないとダメなわけですよね。
<a onclick="ChannelIO('showMessenger')">...</a>
現状は下記のようになっています。
<a onclick="ChannelIO('showMessenger')" href="onclick="ChannelIO('showMessenger')"">...</a>
この
href="..."
は前述したようにリンク先の URL を記述するものなので、現状の HTML の場合はhttps://onclick="ChannelIO('showMessenger')"
という「URL」に移動する、ということになります。そのような URL は存在しないので 404 になります。なのでリンク先には
#
と入力してリンクによるページ遷移をしなくするか、フックでhref
ごと消してしまうかのどちらかの対応が必要になるかなと思います。注意点として、リンク URL 未入力だとお知らせバー自体表示されなくなってしまうので、フックでhref
を消す場合でも何らかの入力が必要です。add_filter( 'snow_monkey_template_part_render', function( $_html, $_slug ) { if ( 'template-parts/common/infobar' === $_slug ) { // onClick を追加 $_html = str_replace( '<a class="p-infobar__inner"', '<a class="p-infobar__inner" onclick="ChannelIO(\'showMessenger\')"', $_html ); // href を削除(リンク URL に入力している内容によってはちゃんと消えないかも) $_html = preg_replace( '|href=".+"|', '', $_html ); } return $_html; }, 10, 2 );
♥ 0いいねをした人: 居ません2021年8月26日 4:18 PM #85488できました〜!
ありがとうございます!すごく初歩的なミスであろうことなのに
わかりやすく解説ありがとうございます( ; ; )お知らせバーができたので、次は固定ページで画像にもonclickの機能入れていこうと思いますが、
またわからなければ質問させてください…!極力自分でやりますm(_ _)m
♥ 0いいねをした人: 居ません2021年8月26日 4:27 PM #85490 -
投稿者投稿
- トピック「お知らせバーにチャットボットの機能をonclickで導入したいがエラーになる」には新しい返信をつけることはできません。