トップページにもSNSシェアボタンを表示したい

Simplicityの特徴 フォーラム テーマファイルのカスタマイズに関する質問など トップページにもSNSシェアボタンを表示したい

このトピックには30件の返信が含まれ、2人の参加者がいます。4 ヶ月前わいひら わいひら さんが最後の更新を行いました。

  • 投稿者
    投稿
  • #54723

    ヤトラ

    こんにちは。

    現在、ブログの記事ページの記事下にSNSシェアボタンを4個表示しています。
    https://www.photo-yatra.tokyo/blog/archives/13227

    しかし、ブログトップページにシェアボタンは表示されません。
    https://www.photo-yatra.tokyo/blog/

    これを、表示されるように出来ないものでしょうか。
    トップページを訪れる人が毎日数百人いるため、ここにシェアボタンを置けば一層のPVが見込めます。

    よろしくお願いいたします。

  • #54724

    かうたっく

    https://www.google.cosite:https://wp-simplicity.com トップページ snsシェアボタンで検索してみました

    suport/topic/トップページへsnsボタンを設置したい/#post-26455よりわいひらさんの回答です^^

    Simplicityは、作成当初からトップページにはシェアボタンは表示されない仕様です。

    トップページにシェアボタンを表示させるには、以下のようにカスタマイズする必要があります。
    【WordPress】オリジナルSNSボタン設置方法!スマホ用シェア数つきSNSアイコンも公開 – ゆめぴょんの知恵
    ただ、カスタマイズにより起こる問題は、サポート外になるので、各自で対応していただく必要があります。

    どのファイルを触るかなどは、『Simplicityテーマのファイル構造について説明』を参考にファイルを見ていくとわかりそうです^^

    そのカスタマイズでしたら、検索すれば見つかりそうですねっ!?

    カスタマイズ成功したら、ここに方法書いてくださると、同じ事思う人に必ず届きますよぉ

  • #54725

    かうたっく

    時間できたんで、一応実装してみました

    <?php if ( is_single() ) get_template_part('sns-buttons-top');//タイトル下の小さなシェアボタン?>

    これをSimplicity2: list.phpをFTPソフトで、子テーマに導入
    /domain.com/public_html/wp-content/themes/simplicity2-childフォルダ内

    list.phpファイルの任意の場所に挿入したら行けるとおもいます。例えば

    <?php
    ////////////////////////////
    //アーカイブのタイトル
    ////////////////////////////
    if (!is_home() && !is_search()) { ?>
      <h1 id="archive-title"><?php echo get_archive_chapter_text(); ?></h1>
    <?php } ?>

    この下あたりとか、任意の場所に下記を入れるとTOPページだけにに表示すると思います^^

    <!--ここからSNSボタンをHOMEに追加-->
        <?php if ( is_home() ) get_template_part('sns-buttons-top');//タイトル下の小さなシェアボタン?>
    <!--ここまで-->

    トップページだけ、sns-buttons-topというテンプレートを読み込むかんじになってますが、別のものSNSボタンのテンプレートに変えるなど工夫しても良いと思います。

    サクッとしただけなので、思うような表示になってるか不明ですが、#54724のリンク先を参考に色々ためしてください。

    ※テーマのアップデートでそのファイルに変更があり、それを有効にしたい場合、再度親テーマからダウンロードし同じカスタマイズが必要な方法だけど、実装可能

  • #54726

    ヤトラ

    かうたっくさん、サジェスチョンをありがとうございます。
    以前にも同じ要望があったのですね。
    しかし、どうしてトップページにシェアボタンがない使用になっているのでしょうか?

    コードをさっそく試してみました。
    が、なにも表示されないので、自分の理解力の低さを実感しています。
    トホホ(^^;

    今日は日曜日なので、これからじっくり試行錯誤してみます。

  • #54728

    かうたっく

    要望ではなくって、カスタマイズしたいけどわからないので教えてもらいたい的な感じだったのかも

    検索すれば見れると思います

    ちなみにトップページは、見てくれる人もそれなりにいますけど
    シェアしたい人はいるか、個人的に疑問です

    シェアするなら、良いコンテンツの方とかするし
    スマホの機能でもやりたければ、シェアできる
    何なら、アドレスだけ貼って知らせたりも^^

    でも試すのが1番ですよね!

    それから
    何も表示されないなら、エラーです

    はる場所間違えた
    ?>など消してしまったなど

    ※『子テーマに実装してるなら』、FTPソフトなどで子テーマにある『そのPHPを削除』すれば、表示される

    コードについては、ソース見て実装したけど
    カスタマイザーがどうなってるか、などなど色んな設定もあるので、試さないとわかりません

    URL置いてもらえたら、ソースみて環境を合わせるなど試しますよ
    夜か翌朝あたり

  • #54735

    かうたっく

    今再度見てみましたが、やっぱり反映します

    考えられるのは、外観 ー カスタマイズ ー SNSより

    全シェアボタンの表示
    全てのシェアボタンの表示を切り替えます。

    タイトル下にシェアボタンを表示
    投稿ページでタイトル下にシェアボタンを表示するか。

    これにチェックが入ってないとSNSボタンは表示しないようですけど。。

    この部分でなければ、ファイルのパスが間違っているか

    /domain.com/public_html/wp-content/themes/simplicity2-child/list.php

    あとは、何だろ?
    とりあえずチェックしてもらったら、表示するかと思います^^

  • #54742
    わいひら
    わいひら
    キーマスター

    https://www.photo-yatra.tokyo/blog/
    このページの一番上にある、全文表示されている投稿下部分に表示するので良いのであれば、entry-body.phpテンプレートの以下の部分を

    <?php if ( is_single() && is_bottom_share_btns_visible() )
          get_template_part('sns-buttons'); //SNSシェアボタンの取得?>

    以下のように変更すれば表示されるようになるかと思います。おそらく。

    <?php if ( is_bottom_share_btns_visible() )
          get_template_part('sns-buttons'); //SNSシェアボタンの取得?>

    ※実際には試してないです。

    できれば、entry-body.phpテンプレートファイルを子テーマにコピーして、子テーマ上で編集することをおすすめします。

  • #54751

    ヤトラ

    かうたっくさん

    そうなんです。何も表示されないのでエラーだということは分かるのですが、何がどうなってエラーになるのかが悲しいことに分からないんです。

  • #54752

    ヤトラ

    わいひらさん

    ありがとうございます。
    entry-body.phpテンプレートファイルを、子テーマにコピーして編集しました。希望通りに、投稿した部分にシェアボタンが表示されました。
    https://www.photo-yatra.tokyo/blog/

    しかし何故かシェア数が表示されません。
    Twitterは吹き出しマークのままですし、FBやはてぶはグルグルしています。ここはどうしたらよいでしょうか。サポート外かもしれませんが、お分かりでしたら教えてください。

    よろしくお願いいたします。

  • #54754

    かうたっく

    #54751
    トップに表示させるには、外観 ー カスタマイズ ー SNSより

    タイトル下にシェアボタンを表示
    投稿ページでタイトル下にシェアボタンを表示するか。

    にチャックが必要と言う事です。スミマセン!ページの確認をなぜかしてませんでした^^;

    でも普段その設定にしてない。と、ワイヒラさんは考慮しての、記事下をオススメした。それが一番良い方法ですね❦
    って感じですが、今は関係ないのでスルーしてくださぁい^^

  • #54757
    わいひら
    わいひら
    キーマスター

    lib/scripts.phpの以下の部分を

      ///////////////////////////////////
      //独自シェアボタンに関する記述
      ///////////////////////////////////
      if ( is_singular() ) {//投稿・固定ページのみ

    以下のように書くとおそらくうまくいくのかなと。

      ///////////////////////////////////
      //独自シェアボタンに関する記述
      ///////////////////////////////////
      if ( true ) {//投稿・固定ページのみ

    ただ、これでうまくいかなかったらちょっとわからないかも。
    あと、親テーマを書き換えると、バージョンアップ時にまた同じことをしないといけないかも。

    もっと手軽な解決法でしたら、SNS Count Cacheプラグインでシェア数を取得すればいけるかも。
    Simplicityは、SNS Count Cacheで取得したカウント数を表示する仕様になっているので。
    ただ、これも実際試してみないと、うまくいくかどうか確かなことは分からないです。

  • #54763

    ヤトラ

    おはようございます。
    かうたっくさん、わいひらさん、ありがとうございます。

    さっそくlib/scripts.phpの該当部分を書き換えたところ、無事にシェア数が表示されました。これは子テーマで書き換えることはできないのですね?

    次回親テーマをバージョンアップしたときに、このことを忘れて焦らないように、SNS Count Cacheプラグインを使った方がいいかな。とりあえずダウンロードしましたが、まだ有効化していません。

  • #54765

    かうたっく

    これは子テーマで書き換えることはできないのですね?

    lib/scripts.phpを親テーマからダウンロード。子テーマフォルダにアップロードすれば可能です。
    今は親テーマで書き換えてるので、子テーマにアップロードするだけでOK!って事です。

    が、子テーマフォルダ内に入れると、親テーマのアップデートで内容が変わっても、子テーマフォルダ内PHPを表示する(新しい機能が反映しない)から、プラグインをオススメしているって感じです^^

    SNS Count CacheプラグインはSimplicityが推奨しているプラグイン。設定もそれなりにあった気もするw

    アップデートしたときトップページのSNSがグルグルしたときこのページを見ると、また理解しやくなってそう
    とも思います❦

  • #54783
    わいひら
    わいひら
    キーマスター

    これは子テーマで書き換えることはできないのですね?

    一応できるんですけど、めっちゃ長くなります^^;
    simplicity_scripts関数が子テーマで置き換わると、Simplicity親テーマで、もしスクリプト関係の変更が加わったときには、再度同様のカスタマイズをして、simplicity_scripts関数を子テーマのfunctions.phpに書く必要があるかもしれません。

    以下を、子テーマのfunctions.phpにコピペ。

    function simplicity_scripts() {
    ////////////////////////////////////////////////////////////////
    //
    //スタイルシートの呼び出し
    //
    ////////////////////////////////////////////////////////////////
    
      ///////////////////////////////////////////
      //テーマスタイルの呼び出し
      ///////////////////////////////////////////
      wp_enqueue_style( 'simplicity-style', get_template_directory_uri() . '/style.css' );
    
      ///////////////////////////////////////////
      //PCでサイドバーをレスポンシブ表示設定がオンの時(完全レスポンシブ機能がオンの時とモバイルの時は設定関係なくレスポンシブ表示する)
      ///////////////////////////////////////////
      if ( is_responsive_pc_sidebar_enable() || is_responsive_enable() || is_mobile() ) {
        //パソコン用のレスポンシブスタイル
        wp_enqueue_style( 'responsive-style', get_template_directory_uri() . '/css/responsive-pc.css', array('simplicity-style') );
      }
    
      ///////////////////////////////////////////
      //スキンのスタイル
      ///////////////////////////////////////////
      if ( get_skin_file() ) {//設定されたスキンがある場合
        if ( get_pearts_base_skin() ) {//パーツスキンの場合
          //パーツスキンスタイル
          wp_enqueue_style( 'parts-skin-style',  get_parts_skin_file_uri(), array('simplicity-style') );
        } else {
          //通常のスキンスタイル
          wp_enqueue_style( 'skin-style',  get_skin_file(), array('simplicity-style') );
          // echo('<pre>');
          // var_dump(get_skins_js_local_dir());
          // echo('</pre>');
          //スキンフォルダ内にjavascript.jsファイルがあれば読み込む
          //var_dump(get_skins_js_local_dir());
          if ( file_exists( get_skins_js_local_dir() ) ) {
            wp_enqueue_script( 'skins-javascript-js', get_skins_js_uri(), array( 'jquery', 'simplicity-js' ), false, true );
          }
        }
      }
    
      // ///////////////////////////////////////////
      // //Font Awesome
      // ///////////////////////////////////////////
      //wp_enqueue_style( 'font-awesome-style', 'https://max'.'cdn.boots'.'trapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' );
      wp_enqueue_style( 'font-awesome-style',  get_template_directory_uri() . '/webfonts/css/font-awesome.min.css', array('simplicity-style') );
    
      ///////////////////////////////////////////
      //IcoMoonアイコンフォント
      ///////////////////////////////////////////
      wp_enqueue_style( 'icomoon-style',  get_template_directory_uri() . '/webfonts/icomoon/style.css', array('simplicity-style') );
    
      ///////////////////////////////////////////
      //Google Fonts
      ///////////////////////////////////////////
      if (!is_site_font_default()) {
        wp_enqueue_style( 'google-fonts-'.get_site_font_source(), get_site_font_source_url() );
      }
    
      ///////////////////////////////////////////
      //カレンダーウィジェットのスタイル
      ///////////////////////////////////////////
      if ( is_calendar_border_visible() ) {
        wp_enqueue_style( 'calendar-style',  get_template_directory_uri() . '/css/calendar.css', array('simplicity-style') );
      }
    
      ///////////////////////////////////////////
      //コメントのスタイル
      ///////////////////////////////////////////
      if ( is_comment_type_thread() ) {//2chコメントタイプ
        //スレッドスタイル
        wp_enqueue_style( 'thread-style',  get_template_directory_uri() . '/css/thread.css', array('simplicity-style') );
        //完全レスポンシブでないモバイル表示
        if ( is_mobile() && !is_responsive_enable() ) {
          //モバイルのスレッドスタイル
          wp_enqueue_style( 'thread-mobile-style',  get_template_directory_uri() . '/css/thread-mobile.css', array('simplicity-style') );
        }
        //完全レスポンシブ表示のとき
        if ( is_responsive_enable() ) {
          //レスポンシブのスレッドスタイル
          wp_enqueue_style( 'thread-responsive-style',  get_template_directory_uri() . '/css/thread-responsive.css', array('simplicity-style') );
        }
      //シンプルなスレッドコメントタイプ
      } elseif ( is_comment_type_thread_simple() ) {
        wp_enqueue_style( 'thread-simple-style',  get_template_directory_uri() . '/css/thread-simple.css', array('simplicity-style') );
      }
    
      ///////////////////////////////////////////
      //白抜きバイラルボタンのとき
      ///////////////////////////////////////////
      if ( ( !is_mobile() && is_share_button_type_viral_white() ) || //PC表示
         ( is_mobile() && is_share_button_type_mobile_viral_white() ) ) {
        wp_enqueue_style( 'sns-viral-white-style',  get_template_directory_uri() . '/css/sns-viral-white.css', array('simplicity-style') );
      }
    
      ///////////////////////////////////////////
      //完全レスポンシブ機能が有効のとき
      ///////////////////////////////////////////
      if ( is_responsive_enable() ) {
        //完全レスポンシブ表示用のスタイル
        wp_enqueue_style( 'responsive-mode-style',  get_template_directory_uri() . '/responsive.css', array('simplicity-style') );
      }
    
      ///////////////////////////////////////////
      //ソースコードのハイライト表示が有効のとき
      ///////////////////////////////////////////
      if ( is_code_highlight_enable() ) {
        //ソースコードハイライト表示用のスタイル
        wp_enqueue_style( 'code-highlight-style',  get_template_directory_uri() . '/highlight-js/styles/'.get_code_highlight_style().'.css' );
      }
    
      ///////////////////////////////////////////
      //モバイルか完全レスポンシブモードのとき
      ///////////////////////////////////////////
      if ( is_mobile() || is_responsive_enable() ) {
        ///////////////////////////////////////////
        //画面が狭い端末用のnarrow.css
        ///////////////////////////////////////////
        wp_enqueue_style( 'narrow-style',  get_template_directory_uri() . '/css/narrow.css', array('simplicity-style') );
    
        ///////////////////////////////////////////
        //設定されたスキンがある場合responsive.cssを読み込む
        ///////////////////////////////////////////
        $responsive_style_url = str_replace('style.css', 'responsive.css', get_skin_file());
        $responsive_style_file = url_to_local($responsive_style_url);
        if ( get_skin_file() && file_exists($responsive_style_file) ) {
         wp_enqueue_style( 'responsive-skin-style', $responsive_style_url, array('simplicity-style', 'skin-style') );
        }
    
        ///////////////////////////////////////////
        //YouTubeなどiframe関係のmedia.css
        ///////////////////////////////////////////
        wp_enqueue_style( 'media-style',  get_template_directory_uri() . '/css/media.css', array('simplicity-style') );
    
        ///////////////////////////////////////////
        //animatedModal.js関連ファイルの呼び出し
        ///////////////////////////////////////////
        if ( is_mobile_menu_type_modal() ) {
          wp_enqueue_style( 'animatedmodal-normalize-style',  get_template_directory_uri() . '/css/normalize.min.css', array('simplicity-style') );
          wp_enqueue_style( 'animatedmodal-animate-style',  get_template_directory_uri() . '/css/animate.min.css', array('simplicity-style') );
        }
    
      }
    
      ///////////////////////////////////////////
      //Simplicityモバイル
      ///////////////////////////////////////////
      if ( is_mobile() ) {
        ///////////////////////////////////////////
        //完全レスポンシブじゃないときだけモバイルスタイルを読み込む
        ///////////////////////////////////////////
        if ( !is_responsive_enable() ) {
          wp_enqueue_style( 'mobile-style',  get_template_directory_uri() . '/mobile.css', array('simplicity-style') );
        }
    
        ///////////////////////////////////////////
        //設定されたスキンがある場合mobile.cssを読み込む
        ///////////////////////////////////////////
        $mobile_style_url = str_replace('style.css', 'mobile.css', get_skin_file());
        $mobile_style_file = url_to_local($mobile_style_url);
        if ( get_skin_file() && file_exists($mobile_style_file) ) {
          wp_enqueue_style( 'mobile-skin-style', $mobile_style_url, array('simplicity-style', 'skin-style', 'mobile-style') );
        }
    
        ///////////////////////////////////////////
        //フッターモバイルボタンメニュー
        ///////////////////////////////////////////
        if ( is_mobile_menu_type_slide_in() ) {//スライドインメニューのとき
          if ( is_slide_in_light() ) {//スライドイン(ライト)のとき
            wp_enqueue_style( 'jquery-sidr-light-style',  get_template_directory_uri() . '/css/jquery.sidr.light.css', array('simplicity-style') );
            wp_enqueue_style( 'footer-mobile-buttons-style',  get_template_directory_uri() . '/css/footer-mobile-buttons.css', array('simplicity-style') );
            wp_enqueue_style( 'footer-mobile-buttons-light-style',  get_template_directory_uri() . '/css/footer-mobile-buttons-light.css', array('simplicity-style') );
          } elseif ( is_slide_in_dark() ) {//スライドイン(ダーク)のとき
            wp_enqueue_style( 'jquery-sidr-dark-style',  get_template_directory_uri() . '/css/jquery.sidr.dark.css', array('simplicity-style') );
            wp_enqueue_style( 'footer-mobile-buttons-style',  get_template_directory_uri() . '/css/footer-mobile-buttons.css', array('simplicity-style') );
            wp_enqueue_style( 'footer-mobile-buttons-dark-style',  get_template_directory_uri() . '/css/footer-mobile-buttons-dark.css', array('simplicity-style') );
          }
    
        }
      }
    
      ///////////////////////////////////////////
      //モバイルメニュータイプがアコーディオンツリーのとき
      ///////////////////////////////////////////
      if ( is_mobile_menu_type_accordion_tree() ) {
        //SlickNav用のスタイル
        wp_enqueue_style( 'slicknav-style',  get_template_directory_uri() . '/css/slicknav.css', array('simplicity-style') );
      }
    
      ///////////////////////////////////////////
      //拡張スタイル
      ///////////////////////////////////////////
      wp_enqueue_style( 'extension-style',  get_template_directory_uri() . '/css/extension.css', array('simplicity-style') );
    
      ///////////////////////////////////////////
      //テーマカスタマイザーでのスタイルの反映
      ///////////////////////////////////////////
      if ( is_external_custom_css_enable() && //カスタムCSSを外部ファイルに書き込む時
           css_custum_to_css_file() ) {//外部ファイルに書き出しがうまくいったとき
        wp_enqueue_style( 'simplicity-style-inline',  get_template_directory_uri() . '/css/css-custom.css', array('extension-style') );
      } else {//ヘッダーに埋め込む時
        ob_start();//バッファリング
        get_template_part('css-custom');
        $css_custom = ob_get_clean();
        //CSSの縮小化
        $css_custom = minify_css($css_custom);
        //HTMLにインラインでスタイルを書く
        wp_add_inline_style( 'extension-style', $css_custom, array('extension-style') );
      }
    
    ////////////////////////////////////////////////////////////////
    //
    //子テーマ用スタイルシートの呼び出し
    //
    ////////////////////////////////////////////////////////////////
    
      ///////////////////////////////////////////
      //子テーマが存在しているときだけに呼び出すスタイル
      ///////////////////////////////////////////
      if ( is_child_theme_enable() ) {
        //子テーマのstyle.css
        wp_enqueue_style( 'child-style',  get_stylesheet_directory_uri() . '/style.css', array('simplicity-style', 'simplicity-style') );
        //子テーマのresponsive.css
        if ( is_responsive_enable() ) {
          //完全レスポンシブ表示用のスタイル
          wp_enqueue_style( 'child-responsive-mode-style',  get_stylesheet_directory_uri() . '/responsive.css', array('simplicity-style') );
        }
        //子テーマのmobile.css
        if ( is_mobile() && !is_responsive_enable() ) {
          wp_enqueue_style( 'child-mobile-style',  get_stylesheet_directory_uri() . '/mobile.css', array('simplicity-style') );
        }
      }
    
    ////////////////////////////////////////////////////////////////
    //
    //印刷用スタイル
    //
    ////////////////////////////////////////////////////////////////
    
      ///////////////////////////////////////////
      //印刷時に本文部分のみを抽出するスタイル
      ///////////////////////////////////////////
      wp_enqueue_style( 'print-style',  get_template_directory_uri() . '/css/print.css', array('simplicity-style'), false, 'print' );
    
    ////////////////////////////////////////////////////////////////
    //
    //Wordpress関係スクリプトの呼び出し
    //
    ////////////////////////////////////////////////////////////////
    
      ///////////////////////////////////////////
      //jQueryの読み込み
      ///////////////////////////////////////////
      //jQueryの読み込み(なくてもOKだけど一応明示)
      wp_enqueue_script('jquery');
    
      ///////////////////////////////////////////
      //コメント返信時のフォームの移動(WPライブラリから呼び出し)
      ///////////////////////////////////////////
      if ( is_singular() ) wp_enqueue_script( 'comment-reply' );
    
      ///////////////////////////////////////////
      //Simplicity内で使用するJavaScript関数をまとめて定義する外部ファイルを呼び出す(javascript.js)
      ///////////////////////////////////////////
      wp_enqueue_script( 'simplicity-js', get_template_directory_uri() . '/javascript.js', array( 'jquery' ), false, true );
    
      ///////////////////////////////////////////
      //子テーマディレクトリ内のjavascript.jsファイルを呼び出す
      ///////////////////////////////////////////
      if ( file_exists_in_child_theme('javascript.js') ) {//子テーマフォルダ内にjavascript.jsがある場合
        wp_enqueue_script( 'simplicity-child-js', get_stylesheet_directory_uri() . '/javascript.js', array( 'simplicity-js' ), false, true );
      }
    
      ///////////////////////////////////////////
      //Masonryに関する記述(タイル状リスト)
      ///////////////////////////////////////////
      if ( !is_singular() && //投稿ページや固定ページ以外のとき
      is_list_style_tile_thumb_cards() && //タイル状リストのとき
      have_posts() ) {//投稿があるとき
        //Masonryライブラリの呼び出し(WPライブラリから呼び出し)
        wp_enqueue_script('jquery-masonry');
        //スクリプトに値を送る
        wp_localize_script('simplicity-js', 'do_masonry', array('enable' => true));
      }
    
      ///////////////////////////////////
      //独自シェアボタンに関する記述
      ///////////////////////////////////
      if ( true ) {//投稿・固定ページのみ
        //CSSの呼び出し
        if ( is_share_button_type_default() ||//SNS固有ボタンでもスタイルを利用
             is_share_button_type_twitter() ) {//独自ボタンでスタイルを利用
          //独自シェアボタン用のスタイルを呼び出す
          wp_enqueue_style( 'sns-twitter-type-style',  get_template_directory_uri() . '/css/sns-twitter-type.css', array('simplicity-style') );
        }
    
        //スクリプト用の設定
        if ( !is_share_button_type_default() || is_mobile() ) {
          wp_localize_script('simplicity-js', 'social_count_config', array(
            'permalink' => get_permalink(),
            'rss2_url' => get_bloginfo('rss2_url'),
            'theme_url' => get_template_directory_uri(),
            'all_sns_share_btns_visible' => is_all_sns_share_btns_visible() && !scc_exists(),
            'all_share_count_visible' => is_all_share_count_visible() && !scc_exists(),
            'twitter_btn_visible' => is_twitter_btn_visible(),
            'twitter_count_visible' => is_twitter_count_visible(),
            'facebook_btn_visible' => is_facebook_btn_visible(),
            'google_plus_btn_visible' => is_google_plus_btn_visible(),
            'hatena_btn_visible' => is_hatena_btn_visible(),
            'pocket_btn_visible' => is_pocket_btn_visible(),
            'feedly_btn_visible' => is_feedly_btn_visible(),
            'push7_btn_visible' => is_push7_btn_visible(),
            'push7_app_no' => get_push7_follow_app_no(),
          ));
        }
      }
    
      ///////////////////////////////////
      //ダミー画像生成スクリプトを呼び出す(開発用)
      ///////////////////////////////////
      if ( is_local_test() ) {//ローカルのテスト環境だった場合
        wp_enqueue_script( 'holder-js', get_template_directory_uri() . '/js/holder.js' );
      }
    
      ///////////////////////////////////
      //コメント欄の高さを文章量に応じて自動調整する
      ///////////////////////////////////
      if ( is_single() && is_comment_textarea_expand() ) {
        wp_enqueue_script( 'expanding-js', get_template_directory_uri() . '/js/expanding.js', array( 'jquery' ), false, true );
      }
    
      ///////////////////////////////////
      //画像の遅延読み込み(Lazy Load)の設定
      ///////////////////////////////////
      if ( is_lazy_load_enable() ) {
        ////Lazy Load jQueryプラグインの呼び出し
        wp_enqueue_script( 'jquery-lazyload-js', get_template_directory_uri() . '/js/jquery.lazyload.min.js', array( 'jquery' ), false, true );
    
        //Lazy Loadプラグインの実行
        $lazyload_config = array('threshold' => get_lazy_load_threshold());
        if (is_lazy_load_effect_enable()) {
          $lazyload_config['effect'] = 'fadeIn';
        }
        wp_localize_script( 'simplicity-js', 'lazyload_config', $lazyload_config );
        //Responsive Imagesを無効にする(HTML5のsrcset属性利用)
        remove_filter( 'the_content', 'wp_make_content_images_responsive' );
      }
    
      ///////////////////////////////////
      //画像リンク拡大効果がLightboxのとき
      ///////////////////////////////////
      if ( is_lightbox_enable() && //Lightboxが有効のとき
       //投稿・固定ページか、リストスタイルが本文表示の時だけ呼び出す
       ( is_singular() || is_list_style_bodies() ) ) {
        //Lightboxスタイルの呼び出し
        wp_enqueue_style( 'lightbox-style',  get_template_directory_uri() . '/lightbox/css/lightbox.css' );
        //Lightboxスクリプトの呼び出し
        wp_enqueue_script( 'lightbox-js', get_template_directory_uri() . '/lightbox/js/lightbox.js', array( 'jquery' ), false, true  );
      }
    
      ///////////////////////////////////
      //画像リンク拡大効果がLityのとき
      ///////////////////////////////////
      if ( is_lity_enable() && //Lityが有効のとき
       //投稿・固定ページか、リストスタイルが本文表示の時だけ呼び出す
       ( is_singular() || is_list_style_bodies() || is_list_style_body_just_for_first() ) ) {
        //Lityスタイルの呼び出し
        wp_enqueue_style( 'lity-style',  get_template_directory_uri() . '/css/lity.min.css' );
        //Lityスクリプトの呼び出し
        wp_enqueue_script( 'lity-js', get_template_directory_uri() . '/js/lity.min.js', array( 'jquery' ), false, true  );
      }
    
      // ///////////////////////////////////
      // //Evernoteに関する記述
      // ///////////////////////////////////
      // if ( is_singular() && is_evernote_btn_visible() ) {
      //   wp_enqueue_script( 'evernote-js', get_template_directory_uri() . '/js/noteit.js', array(), false, true  );
      // }
    
    }
  • #54784
    わいひら
    わいひら
    キーマスター

    あ、もしかしたら親テーマのlib/scripts.php部分は元に戻して、
    子テーマのfunctions.phpに以下を貼り付けるだけでいけるかも。

    function simplicity_scripts2() {
      ///////////////////////////////////
      //独自シェアボタンに関する記述
      ///////////////////////////////////
      if ( is_front_page() ) {//投稿・固定ページのみ
        //CSSの呼び出し
        if ( is_share_button_type_default() ||//SNS固有ボタンでもスタイルを利用
             is_share_button_type_twitter() ) {//独自ボタンでスタイルを利用
          //独自シェアボタン用のスタイルを呼び出す
          wp_enqueue_style( 'sns-twitter-type-style',  get_template_directory_uri() . '/css/sns-twitter-type.css', array('simplicity-style') );
        }
    
        //スクリプト用の設定
        if ( !is_share_button_type_default() || is_mobile() ) {
          wp_localize_script('simplicity-js', 'social_count_config', array(
            'permalink' => get_permalink(),
            'rss2_url' => get_bloginfo('rss2_url'),
            'theme_url' => get_template_directory_uri(),
            'all_sns_share_btns_visible' => is_all_sns_share_btns_visible() && !scc_exists(),
            'all_share_count_visible' => is_all_share_count_visible() && !scc_exists(),
            'twitter_btn_visible' => is_twitter_btn_visible(),
            'twitter_count_visible' => is_twitter_count_visible(),
            'facebook_btn_visible' => is_facebook_btn_visible(),
            'google_plus_btn_visible' => is_google_plus_btn_visible(),
            'hatena_btn_visible' => is_hatena_btn_visible(),
            'pocket_btn_visible' => is_pocket_btn_visible(),
            'feedly_btn_visible' => is_feedly_btn_visible(),
            'push7_btn_visible' => is_push7_btn_visible(),
            'push7_app_no' => get_push7_follow_app_no(),
          ));
        }
      }
    }
    add_action( 'wp_enqueue_scripts', 'simplicity_scripts2', 1 );

    これだと#54783のカスタマイズは不要。また、アップデートの影響を最小限に出来るような気がします。

    ※試してないので、もしうまくいかなかったらごめんなさい。

    ※is_front_page()のところがだめなようなら、is_home()でも試してみてください。

  • #54799

    ヤトラ

    かうたっくさん

    >lib/scripts.phpを親テーマからダウンロード。
    >子テーマフォルダにアップロードすれば可能です。

    子テーマフォルダ内にlibフォルダを作成して、そのなかに複製したscripts.phpをアップロードすればよいということでしょうか。

  • #54800
    わいひら
    わいひら
    キーマスター

    ちなみに、子テーマにlib/scripts.phpをそのままコピーしても、読み込まないと思います。
    テンプレートファイルではないので。

  • #54804

    ヤトラ

    わいひらさん
    丁寧な返信をありがとうございます。

    まずFTPクライアントを使って、親テーマのlib/scripts.php部分は元に戻して、#54784のとおりにしました。残念ながらシェアボタンのカウントは表示されませんでした。is_home()でも試したのですが…

    次いで、子テーマのfunctions.phpに#54783のコードをすでにある記述に続けてコピペしたら、ブログ自体が表示されなくなってしまいました。あわてて記述を削除したらブログが正常に表示されました。

    作業前にコードをいちどテキストエディタにコピペして、全文がコピペされているかを確認しています。

    結局、再び#54757の「lib/scripts.phpの該当部分を『if ( true ) {//投稿・固定ページのみ』に書き換える」をして、表示しました。

    当方の環境がMacなので、ローカルで前もって確認することができないため、いきなり本番で作業しています。ハラハラします(^^; 

  • #54807

    かうたっく

    わいひらさん。テンプレートファイル以外は子テーマに持ってこないってことですね! #知らなかった>< そういえば、libは関数ファイル群でしたもんね。

    環境がMacなので、ローカルで前もって確認することができない

    Macでカンタンにローカル環境作れないかと探してみました。

    [Mac] WordPressローカル環境をワンクリックで作成できる「Local by Flywheel」が高機能すぎてアツい

    チェックしたら、確かに簡単・高機能でアツいので、容量に問題なければどうでしょう?
    ちょっとしたテストやPHPを触るときは欲しいですもんね…

  • #54808

    ヤトラ

    かうたっくさん、
    調べてくださってありがとうございます!

    今まで、Macでは(簡単には)Wordpressのローカル環境を作れないと思っていました。ちょっとしたテストもハラハラしながら作業しています。

    教えていただいたサイトを参考に、さっそくローカル環境を作成してみます。これは大きな前進になります。

  • #54817
    わいひら
    わいひら
    キーマスター

    >かうたっくさん
    そうなんです。get_template_partで呼び出している場合だと大丈夫だと思います。ここら辺、最初混乱してしまいますよね;

    >ヤトラさん

    もっと、簡単な手順を考えてみました。

    1.子テーマにlib/scripts.phpをコピペする(libフォルダは作成)
    2.『if ( is_singular() ) {』を『if ( true ) {』に書き換える
    3.子テーマのfunctions.phpの最初の方に以下のコードを書き加える(<?phpの後)
    require_once 'lib/scripts.php';

    これで多分うまくいくとは思います、多分^^;

    ページが真っ白になる場合は、何かしらのエラーがあると思うので、Wordpressをデバッグモードにする必要があるのかも(サーバー側での設定も必要かも)。エラーがわかれば、ある程度問題も分かります。

    ただ、ローカルに環境設置した方が、デフォルトでエラーが表示されますし、安全なのは間違いないですね。

  • #54818
    わいひら
    わいひら
    キーマスター

    2.『if ( is_singular() ) {』を『if ( true ) {』に書き換える

    この部分は、以下のようにしたほうが余計な負荷は減るかも。

    2.『if ( is_singular() ) {』を『if ( is_front_page() && !is_paged() ) {』に書き換える

    後者がだめなら前者に戻してみてください。

  • #54834

    ヤトラ

    わいひらさま

    こんな私に、簡単にできる方法を考えてくださってありがとうございます。

    子テーマにlibフォルダを作成し、scripts.phpの指定の部分を書き換えました。コードは#54818の方です。そして子テーマのfunctions.phpに指定のコードを書き加えました。

    問題なく、シェアボタンとカウント数が表示されました。
    これで、今後の親テーマのバージョンアップにも対応できそうです。

    どうもありがとうございました。

  • #54837

    かうたっく

    何でしょうね、、このコードはわいひらさんの感覚ではどこまで通用しそうですか?

    この場合限定なのか、またはその他不明のなのか??
    私にはわかりませんが、推奨プラグインの設定で困る人もそれなりに居そうです
    ※特にfbが面倒だった記憶があるので

    そして皆様お疲れさまでした❦^^

  • #54840
    わいひら
    わいひら
    キーマスター

    うまくいったようでよかったです。

    何でしょうね、、このコードはわいひらさんの感覚ではどこまで通用しそうですか?

    この場合限定なのか、またはその他不明のなのか??

    申し訳ないですが、ちょっと上記の文だけでは、曖昧すぎて答えづらいです;
    「どこまで」というのは、具体的に言うとどういうことでしょう?
    また「この場合」や「その他」というのは。
    できれば、代名詞でなくて、具体的に書いていただけると答えやすいです。
    「どこ」「この」「その」のような代名詞だと、人によって指しているものが変わってくるので、できるだけ意味が一意となるように詳しく書いていただけると助かります(代名詞も一つぐらいならある程度意味はくみ取れるのですが、ここまで重なると質問がかなりぼやけてしまって何と答えていいのか;)。
    全ての可能性に対応して返信するとなると、ものすごく長文を書く必要が出てくるので。

  • #54859

    かうたっく

    トップページにもSNSシェアボタンを表示したい

    何故かシェア数が表示されません。
    Twitterは吹き出しマークのままですし、FBやはてぶはグルグル

    #54752

    この対処で負荷が減る記載の対処

    #54817#54818

    1.子テーマにlib/scripts.phpをコピペする(libフォルダは作成)
    2.『if ( is_singular() ) {』を『if ( is_front_page() && !is_paged() ) {』に書き換える
    3.子テーマのfunctions.phpの最初の方に以下のコードを書き加える(<?phpの後)

    require_once 'lib/scripts.php';

    問題なく、シェアボタンとカウント数が表示されました。
    これで、今後の親テーマのバージョンアップにも対応できそうです。
    #54834

  • #54860

    かうたっく

    #54859
    この流れを見て、テンションがグン!と上がりました!それは、もし私がpluginの設定に困って出来ずにいて、この情報を検索して見たら、即試します。ただ他のユーザーさんは環境がちがうので試さないかもしれない・・・と思ったからです。

    トップページにそのような本文を出す設定をしてない。ただグルグルしているFBやツイッターの吹き出しマークだけ。そのとき

    1.子テーマにlib/scripts.phpをコピペする(libフォルダは作成)
    2.『if ( is_singular() ) {』を『if ( is_front_page() && !is_paged() ) {』に書き換える
    3.子テーマのfunctions.phpの最初の方に以下のコードを書き加える(<?phpの後)

    require_once 'lib/scripts.php';

    このコードを貼り付けると、グルグルFB・吹き出しマークのツイッターも直るのかなぁ!?と思って質問しました。

    このコード・どこまで通用するのか?は、上記のような状況でもイケたら画期的だと思うけど、そんなこと言われてもやって見なきゃわかんないのか??

    といった意味です^^;

    当時コメントする前、スマホの前で ヒャー!すっごっ笑 とか笑ってからの、どういえば伝わるか、つたえられるかな・・・と言葉をさがしてました。

    今みたら、ケンカ売ってるような言葉になってて、怖いですね>< そして嫌な思いさせてしまって申しわけないです・・・

  • #54915
    わいひら
    わいひら
    キーマスター

    このコードを貼り付けると、グルグルFB・吹き出しマークのツイッターも直るのかなぁ!?と思って質問しました。

    吹き出しマークのTwitterは、count.jsoonを有効にしていないと、多分取得できないのではないかと思います。ぐるぐるFacebookに関しては、おそらくFacebook側で取得できないのかなと思っています(Facebookはたまに滅茶苦茶取得が遅いときがある)。

    このコード・どこまで通用するのか?は、上記のような状況でもイケたら画期的だと思うけど、そんなこと言われてもやって見なきゃわかんないのか??

    やってみなきゃわからないというのは存分にあります(笑)僕も、昔やったことはかなり忘れてしまっているので^^;


    #54860
    の方法に関しては、『if ( is_front_page() && !is_paged() ) {』をしている場合は、本当にトップページの1ページ目のみに適用されます。

    『if ( true ) {』にした場合は、全ページでシェア数の取得がされてしまいます。

    ただ、どちらの方法も、「一覧リストのスタイル」を「最初だけ本文表示」にしている最初の投稿のみのシェア数が取得されるみたいです。「全て本文表示」にしている場合は、最初の投稿のシェア数しか取得できないようです(今回やってみて気づいた)。

    いえいえ、僕も台風で急に涼しくなったことにより、体調崩してしまって。。頭がちゃんと働いてないのかも。
    明日も、体調が優れないようだったら、ちょっと返信を休もうかなと。
    一晩寝て体調が良くなったら、いつも通り返信しようと思います。休むと返信がかなり溜まることがあるので諸刃の剣だったり(笑)

  • #54920

    かうたっく

    https://www.photo-yatra.tokyo/blog/
    このページの一番上にある、全文表示されている投稿下部分に表示するので良いのであれば、entry-body.phpテンプレートの以下の部分を

    <?php if ( is_single() && is_bottom_share_btns_visible() )
          get_template_part('sns-buttons'); //SNSシェアボタンの取得?>

    以下のように変更すれば表示されるようになるかと思います。おそらく。

    <?php if ( is_bottom_share_btns_visible() )
          get_template_part('sns-buttons'); //SNSシェアボタンの取得?>

    ※実際には試してないです。

    できれば、entry-body.phpテンプレートファイルを子テーマにコピーして、子テーマ上で編集することをおすすめします。

    コチラが前提だったので、他に表示させたい場所のテンプレートファイルにSNSボタンのテンプレートを読み込んでで表示したい箇所を読み込んでif ( is_××××() )で読み込ませたい範囲で指定。

    if (!is_home() && is_single()) {ホームと個別ページなど
    条件分岐タグ|WordPressCodex

    SNSがグルグルしてたら、親テーマのlib/script.phpを子テーマに導入libフォルダ内にPHPをいれlib/script.phpの以下を変更

    #54860の方法に関しては、『if ( is_front_page() && !is_paged() ) {』をしている場合は、本当にトップページの1ページ目のみに適用されます。

    if ( true ) {』にした場合は、全ページでシェア数の取得がされてしまいます。

    ただ、どちらの方法も、「一覧リストのスタイル」を「最初だけ本文表示」にしている最初の投稿のみのシェア数が取得されるみたいです。「全て本文表示」にしている場合は、最初の投稿のシェア数しか取得できない

    表示したい箇所を追加するなど、分岐タグだけ変更。子テーマに入れてるので、コピペするときタグが抜けてエラーが出たら、FTPソフトで子テーマのscript.php即削除すればエラーから復帰

    検索流入から来られたかたに。

    実際、試して実装できないけどどうしても実装したい場合。
    カスタマイズした工程、どんなコードを書いたか、あとURLがあれば分かる人が助けてくれるかもしれません。

  • #54921

    かうたっく

    わいひらさんに。

    体調悪いときにスミマセン><
    詳しい人が助っ人で入ってくれると助かりますね!

    返信も溜まる可能性もありますけど、体調不良のとき、無理すると長引きますから休んでください。なによりダルさの中するのはシンドイので><

    しんどい時するか、復活したときする。結局しなきゃいけない事は、全くかわらないって事でしたら、元気になってからする!と思えば…

    体調不良のとき、フォーラム入力欄のどこかに、メッセージでも置けるようにしていると、もうひと踏ん張り検索して探してみようと思う人も居るかも知れないと思ったりしますが、どうでしょう?既に身体がしんどいから、その作業も微妙ですね…

    まず大事になさってください❦とほんとに思います。

  • #54924
    わいひら
    わいひら
    キーマスター

    ベンザブロックを飲んで寝たら、今朝は熱が下がっておりました。
    あと、今日1日はゆっくり、休んでいようと思います。

    確かに、フォーム入力欄に出た方がいいですよね。
    いつもかなり体調が悪いときは、サイドバーに出すのですが、「サイト全体に出すことじゃないな」と思ってしまって。
    次からは、入力フォームの上に出るようにしようと思います。
    体調が良い悪いにかかわらず、かうたっくさんには、いつも答えていただいてほんと助けていただいています。
    ありがとうございます!

トピック「トップページにもSNSシェアボタンを表示したい」への新規返信追加は締め切られています。

スポンサーリンク
アドセンス(大)
アドセンス(大)