Simplicity2.0へに向けて

  • このトピックには14件の返信、2人の参加者があり、最後ににより2年、 7ヶ月前に更新されました。
14件の返信スレッドを表示中
  • 投稿者
    投稿
    • #34734
      Hidekichi
      ゲスト

      この間、子テーマの使い方がわからないというようなトピックが立ち、また今回と同様のトピックがありましたがどちらも解決済みだったので新たに立てました。

      子テーマの使い方がわからない・・・のトピックでは、@import中に全角のクォートがあったというのが問題っぽかったのですが、以前から@importを何とかしたいと言う話があったようにも記憶していますし、この全角クォートの@importの方がちょろっとサイトで書かれていた親テーマの読み込みのスクリプトが気になって調べていた所、あるじゃないですかcodexに(笑)

      add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
      function theme_enqueue_styles() {
          wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
          wp_enqueue_style( 'child-style',
              get_stylesheet_directory_uri() . '/style.css',
              array('parent-style')
          );
      }

      子テーマがある時に、上記アクションを実行すると、親テーマstyle.cssが読み込まれた後、子テーマstyle.cssが読み込まれると言う様な動作になります。なると思います。

      親テーマの方に、子テーマが有効である場合と言うことで書いても良いかと思うのですが、場合によっては子テーマのfunctions.phpに忍ばせても良いかと思います。

      これによって子テーマのstyle.css内に@importは不要になりそうです。一応、ローカルで試してみましたが、ちょっといじくりすぎていて直すのがアレだったので、多分イケてるんじゃないかなぁと思うぐらいだったんですけれども、一度お試し下さい。

      参考: 子テーマ | codex日本

    • #34739
      アバター画像わいひら
      キーマスター

      @importは、違う文字コードで保存したとかじゃなかったでしたっけ。(斜め読みでうろ覚え)
      ただ@importを消滅できるものなら消滅させたいです。
      てか、codexの子テーマの説明に前からこんなコードありましたっけ?前はなかったような、あったのかな。
      子テーマに書いて後でやってみます。
      ありがとうございます。

    • #34740
      アバター画像わいひら
      キーマスター

      子テーマにコードを記述して試してみました。
      うまくいきました。素晴らしいです。
      今の子テーマを、こちらの方に変更しておきます。
      アドバイスありがとうございます!

    • #34742
      アバター画像わいひら
      キーマスター

      あでもheader-css.phpの以下の記述があるので、子テーマのstyle.cssが二重で呼び出されてしまうかも。
      <link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>">
      やっぱ、CSSは全部wp_enqueue_styleで呼び出すように変更した方が良いのかな。
      とりあえず、今日は遅いので、明日にしようと思います。

    • #34754
      Hidekichi
      ゲスト

      meta:ogpの後ぐらいに、

      <link id="parent-style-css" media="all" type="text/css" href="http://localhost/blog/wp-content/themes/simplicity/style.css" rel="stylesheet">
      <link id="child-style-css" media="all" type="text/css" href="http://localhost/blog/wp-content/themes/simplicity-child/style.css" rel="stylesheet">

      こんな感じで入っているので、重複はしてますが機能はしています。
      関数の中で依存関係が作れるため、優先順位を指定できるのと、例えば独自のSNSボタンの画像とかを使うのでfontawesome以下webフォントは必要ないなんて設定を設けたとして、

      1 //親テーマ読み込み
      2 //子テーマ読み込み(親テーマ依存)
      3 if (enable==on){
       //fontawesome読み込み
      //他のwebfont読み込み(fontawesome依存)
      }
      なんてことができます。elableがoffであればcssは読み込みません。

      って事は、他の@import等を利用しているファイルも依存関係を作り、@importをできるだけ無くすことも可能かと。その分。linkタグで書き出すのでmwta部分は肥大するかと思いますが、優先関係が見てすぐわかるのは視覚管理としては良いかも知れません。

      まぁsimplicity2.0へ向けての話なので、cssをどのようにまとめて、どのようにして読み込むかの再考には良いかと知れませんね。

    • #34755
      Hidekichi
      ゲスト

      twentysixteenのfunctions.php、226行目あたりからが参考になるかと思います。

    • #34759
      Hidekichi
      ゲスト

      Notice: Undefined index: pinterest in /usr/share/nginx/html/blog/wp-content/themes/simplicity/lib/customizer.php on line 3780

      で、カスタマイザーの該当箇所でダンプしてみたんですが、

      $oの配列の中身

      Array
      (
          [top_btns_visible] => 1
          [obsequence_sns_btns_visible] => 1
          [share_msg] => シェアする
          [follow_msg] => ko-hidekichi
          [twitter] => ko-hidekichi
          [facebook] => 
          [google_plus] => 12345678901
          [instagram] => 
          [fb_admins] => 
          [fb_app_id] => 
          [ogp_description] => excerpt
          [colored_follow_btns] => 1
      )

      確かにpinterestやらyoutubeやらが見つかりませんね。

      もう1件、widget.phpあたりで、

      class SimplicityWidgetItem extends WP_Widget {
        //function SimplicityWidgetItem() {
        function __construct() {

      かなぁと。これだけではないんですが取り急ぎ、報告まで。

    • #34762
      がちょぴん
      ゲスト

      ご意見失礼します。
      また、下記のご意見について大変恐縮です。

      2.0に向けて、現在数多くのテーマ機能があり、
      必要であればチェック or 不要であればチェック外すという事ですが、
      ちょこっとしたテーマ容量を考えまして、そこでアンケート等の形式を公開して、
      利用者から必要な機能 or 不要な機能の声を集めて必要な機能だけをテーマに組み込むというのはどうでしょうか?

      ↑このやり方について時間かかって面倒くさい等でしたら、ご意見として受け取っていただければ大変幸いです。

    • #34763
      アバター画像わいひら
      キーマスター

      とりあえず、以下は全部修正しておきました。
      function __construct() {

      wp_enqueue_styleで全部呼び出すことで、呼び出すことで、重複したものはまとめられるっぽいですね。
      これからいろいろやってみます。

    • #34764
      アバター画像わいひら
      キーマスター

      #34762
      すいません、そこまでやる時間的余裕はないです。
      今後Simplicity2用のフォーラムを作るので、基本的にフォーラムでいろいろな意見を伺ってということまでしかできないと思います。

    • #34765
      がちょぴん
      ゲスト

      #34764

      かしこまりました。
      わいひら様の体調等も配慮の上承知しておりましたが、
      ご無理を発言してしまい大変申し訳ございません。

    • #34768
      アバター画像わいひら
      キーマスター

      すみません。
      体調とかは大丈夫なのですが、アンケート系のツールとかは、今まで使ったことがないので、まずそこらへんの勉強から始まるので;

    • #34793
      Hidekichi
      ゲスト

      #34759 で、カスタマイザーのSNSの中身をダンプしたという話の続きで、例えば、

      $tes = get_sns_options();

      この$tesをダンプした時に、各SNSの設定のオプションが配列で入っているはずなんですが、customizer.phpをザックリ見なおした感じ、特に書き方に不備があるわけではなさそうなんですが、何故かpinterestとyoutubeのindexが入ってない状態です。

      customizer.phpの中身が結構あるため、わかる方はちょっと解析を手伝ってもらいたい感じです。
      まぁ無ければナイで、

      //PinterestフォローボタンのIDを取得 3773行目あたり
      function get_pinterest_follow_id(){
      $o = get_sns_options();
      return trim($o[‘pinterest’]);
      }
      で、「無い」と返せばよいわけですが、ちょっと気になる所なので。

    • #34801
      Hidekichi
      ゲスト

      widget.phpは、一応noticeがでない所までは、修復できた感じですが、まだちょっと作業中なので後回しにして、header-ogp.phpとheader-twitter.phpのnoticeについては、以下のような感じで直せそうです。
      本来の動作かどうかはわからないので、ひとまず確認をお願いしたい感じです。

      $searchPattern = ‘/<img.*?src=([“\’])(.+?)\1.*?>/i’;//投稿にイメージがあるか調べる

      ここから下の一連の処理の最後、

      if ( $ogp_image ) {//使えそうな$ogp_imageがある場合
      	echo '<meta property="og:image" content="'.$ogp_image.'">';echo "\n";
      }

      ここを、

      if ( !empty($ogp_image) ) {//使えそうな$ogp_imageがある場合
      	echo '<meta property="og:image" content="'.$ogp_image.'">';echo "\n";
      } else {
      	$ogp_image = get_stylesheet_directory_uri().'/images/og-image.jpg';
      	echo '<meta property="og:image" content="'.$ogp_image.'">';echo "\n";
      }

      こんな感じに。

      トップページのリスト表示の時は、$ogp_imageがないので、ひとまずSimplicityのog-image.jpgを当てています。※ 全てのイメージがない時の処理なのでデフォルトで
      header-twitter.phpも同様です。

      https://github.com/hidekichi/Simplicity/tree/master/original_fix_files

      上記にpushしときました。

    • #34815
      アバター画像わいひら
      キーマスター

      $o = get_sns_options();
      これを使った方法は、次の次のバージョンでやめようかなと考えています。
      ただ、これをするとカスタマイザーの設定を再設定する必要が出てきます。
      けど、良い機会なので直してしまおうかと。

      #34801
      これは、後で見て修正しておこうと思います。

14件の返信スレッドを表示中
  • このトピックに返信するにはログインが必要です。
スポンサーリンク
アドセンス(大)
アドセンス(大)