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

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

ショートコードを使用したトップページの...
 
共有:
通知
すべてクリア

[解決済] ショートコードを使用したトップページのNEWリボン表示について

21 投稿
4 ユーザー
24 Reactions
2,627 表示
akiyongk
(@akiyongk)
Active Member Registered
結合: 4年前
投稿: 15
トピックスターター  

固定ページをTOPにして、ショートコード〔new-list〕で、新着記事一覧を表示しているのですが、最新の投稿記事の画像左上にリボンで「NEW」と表示させたいのですが、ネットで検索した「entry-card.phpを親テーマから子テーマにコピペ・編集&追加CSSカスタマイズ」の方法をためしたのですが、リボン表示どころかNEW表示も出てこず、やり方を教えていただきたく投稿しました。ショートコードを利用しているからなのかな、と思ったのですが、初心者のため分からず。

対象サイト: https://logicalmma.com/

よろしくお願いします。

このトピックは4年前からakiyongkに変更されました

   
はる
(@haruinoue)
Noble Member Moderator
結合: 4年前
投稿: 1090
 

参考にしたサイトはどちらでしょう。

投稿者:: @akiyongk

entry-card.phpを親テーマから子テーマにコピペ・編集&追加CSSカスタマイズ

というのを見る限りでは、それで実現できそうな感じがします(新着記事以外にもリボンが付いてしまうような気もしますが、そこは何か判定してるのでしょう)。

となるとやり方が何か間違っているのではないかと思います。


   
わいひら reacted
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 8089
 

akiyongkさん

私のサイトのトップページは、エントリーカードをそのまま表示するカタチですが。
(固定ページではない。)

PHPの素養はないものの、何かのサイトを参考にしてentry-card.phpを修正し、NEWマークを表示するようにはできました。
私はサムネイルにではなく、タイトルに挿入していますけど。

entry-card.phpで「NEW」のテキストを出力して、CSSで装飾する感じです。

おそらくentry-card.phpの修正でできるのかなぁというくらいには思います。
(実際にentry-card.phpの確認はしておりません。)


   
わいひら reacted
akiyongk
(@akiyongk)
Active Member Registered
結合: 4年前
投稿: 15
トピックスターター  

はるさん mk2さん

早速のご回答ありがとうございました!

参考にしたサイトはこちらになります↓

https://plusreco.com/cocoon-new/

「最新の数記事に「NEW」と表示させるコード」の箇所を参考に

アイキャッチのなかにNEW表示を出せるコードをコピペしました。

その時点でNEWと表示されるそうなのですが出ませんでした・・・


   
はる
(@haruinoue)
Noble Member Moderator
結合: 4年前
投稿: 1090
 

参考にしたサイト拝見しました。

記事に書かれていることの繰り返しになりますが、必要な手順は

  1. cocoon-master/tmp/entry-card.phpというファイルをコピーする
  2. cocoon-child-masterフォルダの中に「tmp」というフォルダを作る(既にある場合は省略)
  3. 2で作った「tmp」フォルダの中に、1でコピーしたentry-card.phpというファイルをアップロードする
  4. 記事にある「最新の数記事に「NEW」と表示させるコード」というのをコピーする
  5. 3でアップロードしたentry-card.phpの任意の位置に4のコードを貼り付ける

です。

akiyongkさんのサイトを拝見すると、
https://logicalmma.com/wp-content/themes/cocoon-master/tmp/entry-card.php
(親テーマ内のentry-card.phpを開こうとしてます)は真っ白のページになるのに対し、
https://logicalmma.com/wp-content/themes/cocoon-child-master/tmp/entry-card.php
(子テーマ内のentry-card.phpを開こうとしてます)は404Not Foundになります。

なので上の手順でいう2,3辺りができていないのだと思います。


推測ですが、ありそうな間違いとしてはfunctions.phpにコードを貼り付けてるとかでしょうか…。


   
わいひら reacted
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 8089
 

akiyongkさん

私のローカル環境で確認した結果ですが。

phpやcssなどの子テーマを何も修正せずに、new_listのショートコードを使った固定ページをトップページにしてみると、NEWマークは出てこないですね。

どうも、単純にエントリーカードがトップページの場合とは、出てくるクラスが違う感じですし、そのままでは出来ないかもですね。

前言撤回…になってしまいそうです。


   
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 6年前
投稿: 6845
 

前略、akiyongk さん

「リボン」というので、CSSでは無理かと思ったのですが、ラベルだけなら、以下のコードで表示されるみたいです。

.new-entry-cards.widget-entry-cards.like-entry-cards a:first-of-type figure::before {
    content: "NEW";
    position: absolute;
    background-color: red;
    color: #fff;
    padding: 3px 5px;
}

ただ、CSSの書き方のルールとして正しいのかどうかは、よくわかりません。


   
わいひら and はる reacted
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 6年前
投稿: 6845
 

akiyongk さん

2つめのカードまでラベルを付けたいとき。

.new-entry-cards.widget-entry-cards.like-entry-cards a:nth-child(-n+2) figure::before {
    content: "NEW";
    position: absolute;
    background-color: red;
    color: #fff;
    padding: 3px 5px;
}
この投稿は4年前ずつリフィトリーに変更されました

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

私はphpの素養がないので、ちょっと…ですが。

親テーマの「lib」フォルダに、ショートコードに関する処理をしているファイルがあるようで、それを修正すると、表示は可能ですね。

この辺りは、ちょっと詳しくないので、詳しい方のご意見をいただきたいところです。


   
はる
(@haruinoue)
Noble Member Moderator
結合: 4年前
投稿: 1090
 

mk2さんの書き込みを見て改めて考えてみましたが、ショートコードで表示する時はentry-card.phpは使われないですね。。

なのでakiyongkさんが最初に仰っていた

投稿者:: @akiyongk

ショートコードを利用しているからなのかな、と思ったのですが、初心者のため分からず。

が正しかったです。

new_listショートコードでいじるとしたらlib/html-forms.phpの1439行目辺りからになるかなとは思いますが、何のショートコードで呼び出されたのかとかを判定しないといけないので面倒そうです。

リフィトリーさんの、CSSで実装する方法が簡単そうです。


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

はるさん

私も、同じ結論です。

「lib」のファイルって、子テーマにコピーするのではなく、親テーマをそのまま修正するイメージでしょうか?

となると…という気はします。

リフィトリーさんの方法が現実的な気がします。


   
わいひら and はる reacted
はる
(@haruinoue)
Noble Member Moderator
結合: 4年前
投稿: 1090
 
投稿者:: @mk2_mk2

「lib」のファイルって、子テーマにコピーするのではなく、親テーマをそのまま修正するイメージでしょうか?

子テーマのfunctions.php関数を上書きします。

今回だったら子テーマのfunctions.phpに

function get_widget_entry_card_link_tag($atts){

とか書くとget_widget_entry_card_link_tag関数が上書きされます。

参考になりそうなトピック:「lib」フォルダにあるファイルを子テーマで編集したいのですが・・・


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

はるさん

ありがとうございます。
なるほどです。

できない訳ではなさそうですね。

あとは、akiyongkさんのご判断かと。

リフィトリーさんの方法も妙案だと思います。
これまでのやりとりの方法でご対応いただくのも一案です。
分からない場合は、プロの方にお願いするのも一案だと思います。


   
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 6年前
投稿: 6845
 

「プロにご依頼になることもご検討してみてください」と書いても、よほど高額な料金を請求されちゃうんじゃないかと、フォーラムにお問い合わせをくださる方にオススメしてみても、なかなか、依頼したら解決しました的な書き込みをしてくださらないので、ご依頼が増えていないんじゃないかと思えてきてしまいます。

 

よろずやさんなどは、簡単な修正なら1,000円からお受けしていると書いてあるようなので、意地でも自分でなんとかする、というのも、もちろん良いことだとは思いますが、現実的にもう少し気軽にご依頼してもいいんじゃないかと個人的に思うこの頃です。


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

リフィトリーさん

仰るとおり、敷居が高いイメージはありますよね、確かに。
(言葉の使い方が間違っているかも知れませんが。)

ただ、開発環境を持たない方にとっては、PHPの修正はハードルが高い気がします。
今は動いていても、WordPressやテーマのアップデートなどで動作しなくなることも考えられますし。

上手く動作しない場合の調査などは、環境がないと難しいと思います。

そう考えると、プロの方にお願いするのは、時間の節約にもなりますし確実なのかなと思ったりします。


   
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 6年前
投稿: 6845
 

@mk2_mk2 さん

私は単純にPHPの素養がない、という理由ですが、わいひらさんがフォーラムのサポートにPHPでのカスタマイズを含めていない理由が、徐々にわかってきたような気がします。

 

はるさんも、カスタマイズのご依頼をお受けしていらっしゃるようですので、「お気軽に」と 言っても料金はかかってしまいますが、ご自身でのカスタマイズが難しい場合は、お見積りだけでも、聞いてみても良いのではないかと思います。


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

リフィトリーさん

PHPは、我々外部のものからは確認できないことも、理由の1つかと思います。
いくらご本人が「やりました」と仰っても、こちら側としては確認してみたいですが、確認の方法がありません。

CSSであれば、こちら側からも確認できますし、不具合の場所も見つける方法もありますから。

(でも、実際のページではなく、「このCSSだ」とだけ言われるのはツラいです。想像するしかないですから。)

まずはお見積りですよね。
そこはしっかりしていただいて、自分が納得することが大事だと思います。

その際に、自分のやりたいことをしっかりと伝えることも必要ですし、見積もり内容に対して、不明点は事前に確認することも大事だと思います。

納得できなければ、依頼を取り止めれば良いと思います。

プロの方も仕事を受けたいはずですし、評判だってあげたい訳ですから、しっかりご対応してくださると思います。

そういう意味では、本来ご依頼をすべきような質問でも、こうしてフォーラムでご回答くださる、はるさんをはじめとするプロの方々には、感謝です。


   
リフィトリー
(@leafytree)
Illustrious Member Moderator
結合: 6年前
投稿: 6845
 

akiyongk さん

個人的には、見出しが地味なので、見出しのデザインを少し目立つように変更すれば良いような気もします。

一例として、ちょっと雑ですが・・

.article h2,
.article h3,
.article h4,
.article h5,
.article h6,
#sidebar h3 {
    color: #fff;
    background-image: linear-gradient(to right, #082c3d 0%,#56a6c4 50%,#87c9df 100%);
}

.article h2 {
    padding: 15px;
}

 


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

akiyongkさん

結論が上手くまとまっていない気がしますので、まとめさせていただきます。

ご質問の件ですが、[new_list]を使用する場合は、entry-card.phpの修正では実現できません。

[new_list]を使用し、ご提示いただいたサイトと同様に対応する場合は、

 

  • ショートコードの処理自体は、親テーマのlib/html-forms.phpにて行っていそう
  • 対応は、lib/html-forms.phpを直接修正するのではなく、子テーマのfunctions.phpに、関数をオーバーライドする処理を追加する

 

ということになりそうです。

よろしくご検討くださいませ。


   
はる and akiyongk reacted
akiyongk
(@akiyongk)
Active Member Registered
結合: 4年前
投稿: 15
トピックスターター  

みなさま

たくさんのアドバイスありがとうございました!

はるさんのおっしゃっていただいたやり方で子テーマのfunctions.phpに、関数をオーバーライドする処理をやろうと思ったのですが、私の知識不足でうまくいきませんでした(涙)せっかくアドバイスいただいたのに申し訳ありません。

リフィトリーさんのCSSカスタマイズでNEWの表示がでてきました。見出しのデザインもそのまま参考にさせていただいています。

mk2さんも取りまとめいただいてありがとうございました。プロの方に見積もりを依頼するという方法も今後の判断の選択肢として考えていきたいと思います。

みなさま初心者の私に丁寧に教えていただき本当にありがとうございました!

 


   
わいひら reacted
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 4年前
投稿: 8089
 

akiyongkさん

lib/html-forms.phpの処理は、new_listだけでなく、同様のショートコードでロジックを共有していますので、new_listの時だけという対応が必要になりそうで、ちょっと面倒かなと。

ここまでくると、まさにプロの出番という気はします。

リフィトリーさんの案は、目からうろこ的な妙案だと思いますよ。
元々のご希望通りではなかったかも知れませんが、一応の対応はできたということで良かったです。


   
共有:

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

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

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

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

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

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

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

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