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カスタマイズ依頼

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

SNSシェアボタンをフロントページとカ...
 
共有:
通知
すべてクリア

[解決済] SNSシェアボタンをフロントページとカテゴリーページの2ページ目以降にも表示させる

13 投稿
4 ユーザー
10 Reactions
1,452 表示
(@suika10)
New Member Registered
結合: 3年前
投稿: 3
Topic starter  

SNSシェアボタンを表示するに設定しており、ボタンは表示されているのですが、
フロントページとカテゴリーページのページ送り2ページ目以降にはボタンが表示されない仕様なのでしょうか?
2ページ目以降にもSNSシェアボタン表示させることは可能でしょうか?
もし可能であればどのようにすれば表示させることが出来るのかご教示願えますでしょうか?
宜しくお願い致します。

環境はローカルです。


   
引用
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 7921
 

suika10さん

以下マニュアルページをご参照ください。

SNSシェア・フォローボタンの表示をページタイプごとに切り替える方法
https://wp-cocoon.com/sns-button-display-switching/

  • フロントページ(サイトトップインデックスの1ページ目のみ)
  • 投稿
  • 固定ページ
  • カテゴリー(1ページ目のみ)
  • タグ(1ページ目のみ)

マニュアルページには上記のように記載がありますので、仕様のようです。

ウィジェットを上手く使えば出来そうな気はしますが、シェアボタンはウィジェットがないようです。

となると、カスタムHTMLウィジェットを使って自前で設置するくらいしか、私には思いつきません。

しかし・・・。

フロントページにしろ、カテゴリーページにしろ。
そのものをシェアというのは分かりますが、2ページ目・3ページ目をシェアはしないような気はします。
(投稿が増えてしまえば、そのページの内容は変わりますし。)

あくまでも個人的な意見ですが。

 


   
わいひら reacted
返信引用
さる子
(@saruko)
Reputable Member Moderator
結合: 5年前
投稿: 482
 
投稿者:: @mk2_mk2

フロントページにしろ、カテゴリーページにしろ。
そのものをシェアというのは分かりますが、2ページ目・3ページ目をシェアはしないような気はします。
(投稿が増えてしまえば、そのページの内容は変わりますし。)

2ページ目以降をシェアするボタンではなく「カテゴリーページの1ページ目をシェアできるボタン」を2ページ目以降にも表示させたい、とかでしょうか。どちらにしてもCocoonデフォルトにない機能なので、自力でカスタマイズになります。

 

希望するシェアボタンの詳しい仕様を教えていただければカスタマイズのヒントは出せると思います。また、「シェアボタン HTML CSS」などで検索すると参考になる記事が出てきます。

あとはプラグインで表示させる方法もあるかと。ただしプラグインを使う場合はCocoonのシェアボタンと競合する可能性があるので注意が必要になります。


   
わいひら reacted
返信引用
(@suika10)
New Member Registered
結合: 3年前
投稿: 3
Topic starter  

みなさんお答え頂きありがとうございます。
やはり2ページ目以降には表示されない仕様なのですね。

さる子さんのおっしゃる通り目的は
フロントページ、カテゴリーページの1ページ目をシェアできるボタンを
2ページ目以降にも表示させたいと言う事になると思います。

mk2さんご提案のカスタムHTMLウィジェットを使って設置するのがよさそうだと思いました。

希望するシェアボタンの仕様は1ページ目と同じ様に表示するだけなのですが、
ウィジェットにシェアボタンの項目が無いので、
カスタムHTMLにどのように書けば表示させることが出来るのかご教示願えますでしょうか?
宜しくお願い致します。


   
返信引用
さる子
(@saruko)
Reputable Member Moderator
結合: 5年前
投稿: 482
 
投稿者:: @suika10

希望するシェアボタンの仕様は1ページ目と同じ様に表示するだけ

おそらく1ページ目と同じ場所・デザインにしようと思うと逆に難しいと思います。(同じ場所に表示できるウィジェットがなさそうなので。)

簡単なのは下記の方法だと思います。

  1. シェアボタンを自作
  2. フロントページやカテゴリー1ページ目のシェアボタンを非表示
  3. ウィジェットでシェアボタンを表示

ただし、フロントページやカテゴリー別で違うURLをシェアさせたい場合は別々でシェアボタンを作ってウィジェットに設定する必要があります。

 

シェアボタンのコード参考

【Cocoon】コピペで簡単!シェアボタンデザイン4選 - Nomad Code https://code.nomad.inc/wordpress/cocoon/share/

コピペで使えるCSS!シェアデザインサンプル10選 - See-SS https://see-ss.com/posts/p29wgx8uh/share/

 

自動でURLを取得させようと思うとPHPでのカスタマイズになると思います。

 

これ以上のアドバイス実物を見ないと難しいので、必要でしたら案内にある通り実際のURLの提示をお願いします。ただし大掛かりなカスタマイズになるとフォーラムのサポート範囲外になりますことをご留意ください。

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

   
わいひら reacted
返信引用
さる子
(@saruko)
Reputable Member Moderator
結合: 5年前
投稿: 482
 
投稿者:: @saruko

自動でURLを取得させようと思うとPHPでのカスタマイズになると思います。

よくよく考えると、自動取得させようと思うと2ページ目からは2ページ目のURLになってしまいますね…。

カテゴリーページの2ページ目からカテゴリーページ1ページ目のURLを自動取得がPHPで可能かどうか、私自身PHPには疎いのでちょっとわかりません。

カテゴリーの数が膨大でなければ、フロントページ(新着記事)とカテゴリーページだけならカスタムHTMLとCSSのカスタマイズでできる範囲だと思います。


   
わいひら reacted
返信引用
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 7921
 

カスタムHTMLウィジェットを使う方法では、あくまでもウィジェットエリアがある場所にしかできないという前提ですが・・・。

超ローテクですのですし、詳しく説明するのは大変ですので、簡単に。

図などのご提示もありませんし、suika10さんのご希望通りかは分かりません。

 

とりあえず、インデックスリストのトップを例にあげます。


まずは、「Cocoon設定」-「SNSシェア」で、トップページのトップの位置にSNSシェアボタンを表示させます。

 


このページのHTMLソースを表示させて、SNSシェアボタン部分のソースを丸々コピーします。

 

上記でコピーしたソースを「カスタムHTMLウィジェット」に貼り付けて、インデックスリストトップに設置します。

すると、トップページは、以下のようになります。

 
2ページ目以降にも、SNSシェアボタンが表示されます。

 


ウィジェットのSNSシェアボタンには、外部リンクであることを示すアイコンフォントが表示されていますので、CSSでこのアイコンフォントを消します。
(表示させていない場合は不要。Cocoon設定からも非表示にできます、外部リンク全部消えてしまいますが。)

トップページ
 
2ページ目以降
 

 


 
最後に、「Cocoon設定」-「SNSシェアボタン」でフロントページの表示を外します。
すると、ウィジェットのボタンのみ残ります。
 
トップページ
 
2ページ目以降
 

 
超ローテクですが、おそらくこんな感じでできるのではないと。
 
トップページのHTMLソースをコピーしていますので、シェアするURKもトップページになっていると思います。(キチンと確認はしていませんが。)
 
 
ボトムの位置のシェアボタンや、カテゴリーページについても同じような感じで、できないことはないのかな・・・と思います。
 
ただ、カテゴリーページはカテゴリー毎に設定する必要がありそうですが・・・。
(ウィジェット表示のコントロールが上手くできるのかも確認してしません。)
 

   
返信引用
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 7921
 
投稿者:: @mk2_mk2

シェアするURK

誤字訂正です。

最後の方の上記部分は、「シェアするURL」です

他にも誤字が・・・
急いで書きましたので、ご容赦ください。

とりあえずやってみましたが、動作などは確認しておりません。

(簡単な確認しかしていませんが、カテゴリーページのウィジェット表示コントロールはできそうな感じでした。)


   
返信引用
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

フロントページ、カテゴリーページの1ページ目をシェアできるボタン

この条件が面倒ですね。この条件がなければ、下記コードを子テーマの functions.php に追加すればできるのですが。

※「メインカラムトップシェアボタンを表示」の場合のコードです。

add_action( 'get_template_part_tmp/list-tab-index', 'my_paged_sns_share');
add_action( 'get_template_part_tmp/list-category', 'my_paged_sns_share');
add_action( 'get_template_part_tmp/list-category-columns', 'my_paged_sns_share');
add_action( 'get_template_part_tmp/list-index', 'my_paged_sns_share');

function my_paged_sns_share() {
  if ( is_paged() && (
    ( is_front_page() && is_sns_front_page_top_share_buttons_visible() ) ||
    ( is_category() && is_sns_category_top_share_buttons_visible() ) ||
    ( is_tag() && is_sns_tag_top_share_buttons_visible() )
  ) ) {
    get_template_part_with_option( 'tmp/sns-share-buttons', SS_TOP );
  }
}

上記コードは、2 ページ目でボタンを押すと 2 ページ目をシェアします。

フロントページ、カテゴリーページの1ページ目をシェアできるボタン」の条件を満たすには、上記コードに置換処理を追加しないといけません。その置換処理が面倒に感じ、試しませんでした。

This post was modified 3年前 2回 by Akira

   
わいひら reacted
返信引用
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

ごめんなさい。コードを訂正します。余計な 3 行が含まれていました。

訂正後のコード

add_action( 'get_template_part_tmp/list-index', 'my_paged_sns_share');

function my_paged_sns_share() {
  if ( is_paged() && (
    ( is_front_page() && is_sns_front_page_top_share_buttons_visible() ) ||
    ( is_category() && is_sns_category_top_share_buttons_visible() ) ||
    ( is_tag() && is_sns_tag_top_share_buttons_visible() )
  ) ) {
    get_template_part_with_option( 'tmp/sns-share-buttons', SS_TOP );
  }
}

   
わいひら reacted
返信引用
(@suika10)
New Member Registered
結合: 3年前
投稿: 3
Topic starter  

みなさんお答え頂きありがとうございます。

mk2さんご提案のカスタムHTMLウィジェットにコードを貼り付ける方法で目的はほぼ達成できたと思っています。
ありがとうございました。

mk2さんご指摘の通りウィジェットで作ったボタンからSNSに投稿時はカテゴリーページのカテゴリー名は自動入力はされない様です。
各カテゴリー名が自動入力される様にする事が出来れば完璧なのですが、
その方法がお分かりになられる方がおられましたらご教示願えますでしょうか?
宜しくお願い致します。

もし無理そうであればこれで解決済みとさせて頂こうと思います。


   
返信引用
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 7921
 

suika10さん

今回の例は、トップページですから、各SNSへトップページのURLをパラメーターとして渡しています。

ウィジェットに貼り付けたソースを見ていただければ、お分かりいただけると思いますが、トップページのURLが書かれているはずです。

トップページのURLを自動取得している訳ではなく、HTMLソースにベタ打ちされているだけです。
(自動取得すると2ページ目、3ページ目のURLになってしまう。そして自動取得にはPHPなど処理する必要があり、HTMLだけではできない。)

そのURLをカテゴリーページのものに書き換えれば良いだけです。

ただ、1つ1つ書き換えるのは面倒です。

 

ですから、先に書いた手順と同じことをカテゴリーページでも行います。

複数の例をつくるのは正直手間と時間がかかり大変ですし、ご提示は致しません。

トップページと同じことをカテゴリーページでもするだけだと思うのですが・・・。
(ただし、カテゴリー毎に設定する必要がある。カテゴリー毎にURLが変わりますので。)


   
わいひら reacted
返信引用
さる子
(@saruko)
Reputable Member Moderator
結合: 5年前
投稿: 482
 
投稿者:: @suika10

mk2さんご指摘の通りウィジェットで作ったボタンからSNSに投稿時はカテゴリーページのカテゴリー名は自動入力はされない様です。
各カテゴリー名が自動入力される様にする事が出来れば完璧なのですが、

カテゴリーを自動取得しようとすると、PHPでのカスタマイズになります。カスタムHTMLウィジェットではできません。また、PHPで取得するにしてもAkiraさんがおっしゃっるには複雑なものになようです。

ご自身でカスタマイズが難しい場合は有償でプロに依頼するという手もあります。

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


   
わいひら reacted
返信引用
共有:

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

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

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

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

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

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

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

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