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

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

新着記事へのフォーカスを外したい
 
共有:
通知
すべてクリア

[解決済] 新着記事へのフォーカスを外したい

12 投稿
3 ユーザー
11 Reactions
579 表示
(@774-san)
Active Member Registered
結合: 1年前
投稿: 7
トピックスターター  

はじめまして。PHPについて理解が足りずご助言を頂きたく登録しました。
Cocoonの設定画面でインデックスでフロントページのタイプをタブにすると、新着記事+任意のカテゴリ3つまでをタブ切り替えで表示できるようになると思います。
デフォルトだと【新着記事+任意カテゴリ1+任意カテゴリ2+任意カテゴリ3】という並び方になると思います。

これを【任意カテゴリ1+任意カテゴリ2+任意カテゴリ3+新着記事】という並びに変えようと思い、PHPファイルを編集しました。編集したのは、list-tab-index.phpファイルです。途中で<div class="index-tab-buttons">という括りが出てくると思いますが、この中に<label>タグが2つ出てきており、このlabelの並びを前後逆にしたところ、【任意カテゴリ1+任意カテゴリ2+任意カテゴリ3+新着記事】という並び順にすることができました。実際に書き換えたコードは以下となります。

<div class="index-tab-buttons">
    
    <?php for ($i=0; $i < count($cat_ids) && $i < $cat_count; $i++):
    $number = $i + 2;
    $cat_id = $cat_ids[$i]; ?>
        <?php if (is_category_exist($cat_id)): ?>
        <label class="index-tab-button" for="index-tab-<?php echo $number; ?>"><?php echo get_category_name_by_id($cat_id);//echo $cat_ids[$i]; ?></label>
        <?php endif; ?>
    <?php endfor; ?>
    <label class="index-tab-button" for="index-tab-1"><?php echo apply_filters('new_entries_caption', __( '新着記事', THEME_NAME )); ?></label>
  </div>

問題はここからで、ページを開いた時にフォーカスされるのは”新着記事”となっておりまして、これを”任意カテゴリ1”にフォーカスをあてるにはどうしたらよいでしょうか。
apply_filters('new_entries_caption'がフォーカスを当てているのかなと思ったのですが、ここから先どうすべきか分からず手詰まりになってしまったので質問をさせて頂きました。

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


   
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 3131
 

自己責任で願います。

●テンプレートを修正する

checkedが付いているタブがフォーカスとなります。
その部分が漏れています。

以下の部分を書き替えます。

https://github.com/xserver-inc/cocoon/blob/d75c8337f63d17bcdcd1dcf3650fddfe66f3136d/tmp/list-tab-index.php#L20-L34

// 1番目のタブのcheckedを削除
  <input id="index-tab-1" type="radio" name="tab_item">
  <?php for ($i=0; $i < count($cat_ids) && $i < $cat_count; $i++):
 
// 2番目のタブにcheckedを付加 
  $number = $i + 2;
  $chk = null;
  if ($number == 2) {
    $chk = 'checked';
  } ?>
  <input id="index-tab-<?php echo $number; ?>" type="radio" name="tab_item" <?php echo $chk; ?>>

  <?php endfor; ?>
  <div class="index-tab-buttons">
    <?php for ($i=0; $i < count($cat_ids) && $i < $cat_count; $i++):
    $number = $i + 2;
    $cat_id = $cat_ids[$i]; ?>
        <?php if (is_category_exist($cat_id)): ?>
        <label class="index-tab-button" for="index-tab-<?php echo $number; ?>"><?php echo get_category_name_by_id($cat_id);//echo $cat_ids[$i]; ?></label>
        <?php endif; ?>
    <?php endfor; ?>

// 新着記事タブを最後に変更
    <label class="index-tab-button" for="index-tab-1"><?php echo apply_filters('new_entries_caption', __( '新着記事', THEME_NAME )); ?></label>
  </div>

●テンプレートを修正しない

私ならテンプレートを変更しません。
CSSでタブの並びを変更し、JSで2番目のタブを活性表示させます。

JavaScript

// 2番目のタブを初期表示
$(function() {
  $("#index-tab-2").prop('checked', true);
});

 CSS

.index-tab-buttons {
  display: flex;
}

// タブの並び、新着記事タブを最後に変更
label.index-tab-button[for=index-tab-1] {
  order: 1;
}

   
774-san and わいひら reacted
(@774-san)
Active Member Registered
結合: 1年前
投稿: 7
トピックスターター  

@chu-ya さん

ご助言ありがとうございます。私もできればテンプレートは編集したくないので、テンプレートを修正しない方法でいきたいと思いました。
JavaScriptはfunction.phpに追記、CSSはstyle.cssに追記という認識で良かったでしょうか。


   
(@774-san)
Active Member Registered
結合: 1年前
投稿: 7
トピックスターター  

list-tab-index.phpの中に<script>タグを追記してJavaScriptを埋め込み、CSSは外観からカスタマイズ→追加CSSでしょうか…。仕組みが良く分かっておらず、どこに追記すれば良いのか分かりません。もうちょっと調べてみます。。


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

774-sanさん

子テーマは導入済ということで、よろしいでしょうか。
カスタマイズは、子テーマで行ってくださいね。

子テーマ導入済の前提で書かせていただきます。

JavaScript ⇒ 子テーマの「javascript.js」へ
CSS ⇒ 子テーマの「style.css」へ


   
わいひら and 774-san reacted
(@774-san)
Active Member Registered
結合: 1年前
投稿: 7
トピックスターター  

@mk2_mk2 さん

ありがとうございます。私のやり方が下手なのか、うまく反映されませんでした。
【新着記事+任意カテゴリ1+任意カテゴリ2+任意カテゴリ3】の並びのままですが、フォーカスだけ任意カテゴリ1にあたるようになりました。。

cocoon-child-master直下のjavascript.jsとstyle.cssを編集→×
cocoon-child-master/skins/skin-template配下のjavascript.jsとstyle.cssを編集→×

どちらも並びだけ変わりません。もっと勉強します…。


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

774-sanさん

投稿者:: @774-san

cocoon-child-master直下のjavascript.jsとstyle.cssを編集

これが正しいです。

 

投稿者:: @774-san

cocoon-child-master/skins/skin-template配下のjavascript.jsとstyle.cssを編集

この場所は、子テーマ用のスキンを配置する場所ですので、ここを修正してはいけません。
(更に、サンプル用のフォルダですので、templateは)

 

本題です。

以下の部分を。

// タブの並び、新着記事タブを最後に変更

以下に変更していただけますでしょうか。

/* タブの並び、新着記事タブを最後に変更 */

 


   
わいひら and 774-san reacted
(@774-san)
Active Member Registered
結合: 1年前
投稿: 7
トピックスターター  

何が原因かうまくいかないので、一度テーマを削除し再インストール、テーマをアップデート後、再度ご指示頂いた箇所でファイルを更新しました。今度は初期のまま内容が変わりません。
【新着記事+任意カテゴリ1+任意カテゴリ2+任意カテゴリ3】の並びでフォーカスは新着記事のままです。コードをスクリーンショットしたものをアップロードいたします。一度に複数枚添付できませんでしたので、この返信にはjavascriptをアップロードします。


   
(@774-san)
Active Member Registered
結合: 1年前
投稿: 7
トピックスターター  

続いてCSSをアップロードします。

いずれも、root/wp-content/themes/cocoon-child-master/javascript.js + style.css を編集し、WP File Managerというプラグインでアップロードしています。

知恵がなくて申し訳ありません。。何でダメなのか皆目見当もつかず…。


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

774-sanさん

コード自体に間違いはないかと思います。
私の環境で確認してみました。

①カスタマイズがない状態

 
②JavaScriptのみ反映
 
③JavaScript+CSS反映
 
 
そして、子テーマの各ファイルに反映することもお伝えしました。
 
現状ご提示いただいた情報で言えることは、ここまでかと思います。
 
 
あとは、実際の環境に間違いなく反映できているかどうか。

それを確認するには、環境情報等をご提示いただくしかなさそうに思います。
そうでなければ、こちらからは確認のしようがありません。
 
 
※本来、このフォーラムでは、上部の案内の通りの情報をご提示いただくルールとなっております。
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります
但し、外部からの確認には限りがあります。
ご提示いただいても、必ずしも原因が分かるとは限りません。

   
わいひら and 774-san reacted
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 8063
 

774-sanさん

今、ふと思いましたが・・・。

子テーマは有効になっているのですよね?


   
わいひら and 774-san reacted
(@774-san)
Active Member Registered
結合: 1年前
投稿: 7
トピックスターター  

@mk2_mk2 さん

まさにコレでした…お恥ずかしい限りです…。子テーマが有効になっていませんでした…。本当に…初歩的なところですみません…。親が有効のままで子テーマはインストールだけして有効にはなっていませんでした…。無事に実現したいことができました!


   
わいひら reacted
共有:

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

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

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

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

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

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

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

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