Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

ボックスメニューを新しいタブで開くこと...
 
共有:
通知
すべてクリア

[解決済] ボックスメニューを新しいタブで開くことは可能ですか?

15 投稿
2 ユーザー
5 Reactions
6,569 表示
 myst
(@myst)
Active Member Registered
結合: 5年前
投稿: 8
トピックスターター  

お世話になります。

有料のテーマも含めて色々と使ってきましたが、けっきょくCocoonに戻ってきました。やっぱり素晴らしいです。

 

質問です。

タイトルの通り「ボックスメニューのリンク先を新しいタブで開きたい」のですが、簡単な方法はありますか?

メニューで指定するだけでは、できませんでした。

良い方法がありましたら、教えて頂けると助かります。

 

宜しくお願いいたします。


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

現在、そういった機能は存在していません。
ただ、ボックスメニューショートコードには、targetオプションを用意したので、_blankに変更はできるようにしました。
------------------------------------------------
https://github.com/yhira/cocoon
最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。

FTPでのアップデート方法はこちら。
https://wp-cocoon.com/ftp-update/
------------------------------------------------
加えて、box_menu_link_targetフックを追加したので、子テーマのfunctions.phpに以下のコードを追記することで、新しいタブで開くようにできるようになるかと思います。

//ボックスメニューのリンクを「新しいタブ」で開く
add_filter('box_menu_link_target', function ($target, $url){
return '_blank';
}, 10, 2);

   
myst reacted
 myst
(@myst)
Active Member Registered
結合: 5年前
投稿: 8
トピックスターター  

@yhira

早速の対応ありがとうございましたっ!
あっという間に、作業が完了しました。

(こんなに親切な対応をしてくれるのは、ここだけだと思います)。

ちなみに、「同じタブ内」と「新しいタブ」とを混ぜて設定することは技術的に可能でしょうか?

宜しくお願いいたします。

 


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

可能です。
そういった用途のために、box_menu_link_targetフックの第二引数に$urlを割り当てているので、そのURLから「内部リンク」とか「外部リンク」とかを判断する条件分岐を書いて、_selfと_blankを振り分ければできます。


   
myst reacted
 myst
(@myst)
Active Member Registered
結合: 5年前
投稿: 8
トピックスターター  

@yhira

お忙しいところを何度も助けてくださって、ありがとうございます!
今後、いろいろなパターンで活用させていただきます。

ありがとうございました!


   
 myst
(@myst)
Active Member Registered
結合: 5年前
投稿: 8
トピックスターター  

@yhira

たびたびスミマセン...

解決した(というか、あとは自力で)と思ったのですが……色々と試してみて、けっきょく記述の仕方がわかりませんでした。

記述方法の例を、お教え下さいますでしょうか。

本当にごめんなさい。

 


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

どういう仕様で開き方を変えるのかの仕様がわからないとコードは書けないです。
僕が書いた「内部リンク」と「外部リンク」とかで分けるの簡単に書くなら、以下を子テーマのfunctions.phpに追記すればできるかなと思います。

//ボックスメニューのリンクを外部リンクだけ「新しいタブ」で開く
add_filter('box_menu_link_target', function ($target, $url){
  if (!includes_home_url($url)) {
    $target = '_blank';
  }
  return $target;
}, 10, 2); 

動作確認はしていないので、もし不具合があったら不具合状態をまた書き込んでいただければと思います。


   
 myst
(@myst)
Active Member Registered
結合: 5年前
投稿: 8
トピックスターター  

@yhira

わざわざスミマセン...ありがとうございます!

まさに、外部リンクのみ新しいタブにしようと思っていました。

早速、試してみました。が、サイト内の固定ページも新しいタブで開かれてしまいます。

 

ボックスメニュー

(1)ダウンロードページ(サイト内)

(2)ダウンロードページ(サイト内)

(3)外部リンク

(4)外部リンク

(5)固定ページ(サイト内)

(6)固定ページ(サイト内)

 

(1)〜(4)までは、予定通りにいきましたが、

なぜか(5)と(6)も、新しいタブになってしまいます。

原因は判りますでしょうか?

 

宜しくお願いいたします。

 


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

そこまで行くと、実物を見ずには何とも言えないかもしれません。

フォーラムの案内にもありますように、該当ページのURLを提示していただければと思います。

不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください


   
 myst
(@myst)
Active Member Registered
結合: 5年前
投稿: 8
トピックスターター  

@yhira

お忙しい中、お返事ありがとうございます。

以下がボックスメニューを使用したサイトです。

https://大相撲クイズ.com

フッターの手前に設置してあります。

左から

(1)ダウンロードページ(サイト内)
(2)ダウンロードページ(サイト内)
(3)外部リンク
(4)外部リンク
(5)固定ページ(サイト内)
(6)固定ページ(サイト内)

問題の箇所は(5)(6)です。
同じサイト内のリンクですが、新しいタブで開かれてしまいます。

宜しくお願いいたします。

 


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

日本語ドメインなんですね。
だとしたら、最も手っ取り早いのは直接URL(ピュニコード)文字列で判別してみるとか。

//ボックスメニューのリンクを外部リンクだけ「新しいタブ」で開く
add_filter('box_menu_link_target', function ($target, $url){
  if (!includes_string($url, 'https://xn--eckva8a1692afcm60z.com/')) {
    $target = '_blank';
  }
  return $target;
}, 10, 2); 

日本語ドメインの場合、どういう環境になるのかちょっと興味があります。
後学のためにも、環境情報もいただいてよろしいでしょうか。
https://wp-cocoon.com/theme-report/


   
 myst
(@myst)
Active Member Registered
結合: 5年前
投稿: 8
トピックスターター  

@yhira

何度も有難うございます!

書き換えてみたのですが、ダメでした...

ひとつ実験をしてみました。

メニュー6つの並び順を、色々と入れ替えてみたのです。

すると、どの並びにしても(5)と(6)が、新しいタブで開かれることがわかりました。

 

差し当たり、しばらくは外部リンクのメニューを(5)(6)に移動させることにします。

これでやりたかったことは出来たことになります!

しかし、原因が判るとスッキリはしますので、私も色々と考えてみます(閃きがあれば、こちらで報告させていただきます)。

 

環境情報

----------------------------------------------
サイト名:大相撲クイズ.com
サイトURL: https://xn--eckva8a1692afcm60z.com/wp
ホームURL: https://xn--eckva8a1692afcm60z.com
コンテンツURL:/wp/wp-content
インクルードURL:/wp/wp-includes/
テンプレートURL:/wp/wp-content/themes/cocoon-master
スタイルシートURL:/wp/wp-content/themes/cocoon-child-master
子テーマスタイル:/wp/wp-content/themes/cocoon-child-master/style.css
WordPressバージョン:5.3.2
PHPバージョン:7.2.27
ブラウザ:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
サーバーソフト:Apache
サーバープロトコル:HTTP/1.1
言語:ja,en-US;q=0.9,en;q=0.8
----------------------------------------------
テーマ名:Cocoon
バージョン:2.1.2.1
カテゴリ数:1
タグ数:0
ユーザー数:1
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:1.1.0
style.cssサイズ:827バイト
functions.phpサイズ:632バイト
----------------------------------------------
Gutenberg:1
AMP:0
PWA:0
Font Awesome:5
Auto Post Thumbnail:1
Retina:1
ホームイメージ:/wp/wp-content/themes/cocoon-master/screenshot.jpg
----------------------------------------------
ブラウザキャッシュ有効化:0
HTML縮小化:0
CSS縮小化:0
JavaScript縮小化:0
Lazy Load:0
WEBフォントLazy Load:0
JavaScript(フッター):1
----------------------------------------------
利用中のプラグイン:
Classic Editor 1.5
Contact Form 7 5.1.7
Contact Form 7 Serial Numbers 0.8.1
Download Manager 3.0.92
PDF Embedder 4.6
Search Regex 1.4.16
TinyMCE Advanced 5.3.0
WP Mail SMTP 1.8.1
WP User Avatar 2.2.5
zipaddr-jp 1.23
----------------------------------------------

 


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

その環境情報+文字列を直接入力してダメということは、こちら側の不具合だと思いコードを確認してみました。
そしたら、変数の代入関係の不具合でした。
お手数をおかけして申しわけないです ?
修正したものを以下にアップしておきました。
------------------------------------------------
https://github.com/yhira/cocoon
最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。

FTPでのアップデート方法はこちら。
https://wp-cocoon.com/ftp-update/
------------------------------------------------


   
myst reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

コードはこっちで良いかと思います。おそらく。

//ボックスメニューのリンクを外部リンクだけ「新しいタブ」で開く
add_filter('box_menu_link_target', function ($target, $url){
  if (!includes_home_url($url)) {
    $target = '_blank';
  }
  return $target;
}, 10, 2);  

   
myst reacted
 myst
(@myst)
Active Member Registered
結合: 5年前
投稿: 8
トピックスターター  

@yhira

お手を煩わせてすみません。

ビンゴでした!

思ったとおりに動作するようになりました。

完璧です。

今回は助かりました。最後までお付き合いいただき本当に有難う御座います。

今後とも宜しくお願いいたします!

 

ちなみに他の個人ブログサイトでも「Cocoon」を使わせて頂いております。

 


   
わいひら reacted
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました