サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
トピックスターター 2018年6月26日 14:14
アフィリエイトタグを設定した文言を本文はじめに記述すると
抜粋で表示されないようです。私だけでしょうか?
例えば
1) "WordPress"という文言をアフィリエイトタグで設定
2) ”WordPressは素晴らしいソフトです...”云々から始まる本文を作成
3) "は素晴らしいソフトです..."云々という風に抜粋ではアフィリエイトタグで作成した部分だけ除かれて表示されてしまう。クリックして本文を表示すると本文には表示される。
蛇足ではありますが、shortcoderというプラグインでも同様の現象が起きてしまいます...。
2018年6月26日 18:22
状況がよくわからないので、それっぽい事をたくさんやってみました。
- トップページや一覧ページのスニペットに、ショートコードで
書いた出力した文字列は出力されない。
※修正編集
ってことですね?違った症状でしょうか???
https://wp-cocoon.com/category/theme/
ココで言う『一覧ページのスニペット』とは、上記リンク先のタイトル下にある文字列のこと。
記事内ではキチンと表示されるのを確認しましたが、スニペットには表示されず、実際に書いた文字列のみ表示されるようでした。
※抜粋(管理画面、投稿記事下にある:なければ上部にある表示設定でチェックを入れたら表示される)に文字列を入れると、記事一覧上のスニペットにはキチンと表示されるようです。
2018年6月26日 19:56
おそらく、抜粋文はショートコードを展開しないからかと思われますが、実物を見てみないと、詳しいことはわからないかもしれません。
よろしければ、不具合ページのURLを貼っていただいてよろしいでしょうか。
トピックスターター 2018年6月26日 21:03
お手数をおかけして申し訳ありません。
表示されていない状態のテストページを貼ってみます
かうたっく様、ご回答ありがとうございます。チェックを入れてみましたが変わりませんでした。
今回は文字でやってみましたが、アフィリエイトタグでも文字は表示されないようでした。
現状では、とりあえず抜粋部分(25から40文字分)にはアフィリエイトタグを入れないようにしました。多分、そんなところに普通は入れない、ということかとも思われますm(__)m
アフィリエイトタグだけではなく、文字を呼び出すためのショートコードとしても使えるのではないかと言う浅はかな考えから、文頭から利用してしまって、ご迷惑をおかけしております。
なお、Macのソフトの更新が相当古い、というのが原因では、とビクビクしていますm(__)m
ーー恥ずかしながらテーマ情報ですーーーーーーーー
----------------------------------------------
サイト名:zzy
サイトURL: https://zzy.mixh.jp
ホームURL: https://zzy.mixh.jp
コンテンツURL: https://zzy.mixh.jp/wp-content
インクルードURL: https://zzy.mixh.jp/wp-includes/
テンプレートURL: https://zzy.mixh.jp/wp-content/themes/cocoon-master
スタイルシートURL: https://zzy.mixh.jp/wp-content/themes/cocoon-child-master
Wordpressバージョン:4.9.6
PHPバージョン:7.0.30
ブラウザ:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
サーバーソフト:LiteSpeed
サーバープロトコル:HTTP/1.1
エンコーディング:gzip, deflate, br
言語:ja,en-US;q=0.9,en;q=0.8
----------------------------------------------
テーマ名:Cocoon
バージョン:0.7.2
カテゴリ数:1
タグ数:0
ユーザー数:1
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:0.0.5
----------------------------------------------
トピックスターター 2018年6月26日 21:12
かうたっく様
間違えました。言葉足らずでした。チェックは入れましたが、抜粋には文言を入れておりません。
抜粋に入れずに本文からそのまま抜粋で表示されるとありがたいと思っております。
2018年6月27日 05:08
大体の症状とやりたい事を把握されたと思います。以下わいひらさんの言葉のとおりです。
抜粋文はショートコードを展開しないからかと思われますが、実物を見てみないと、詳しいことはわからないかもしれません。
展開してない様子や色々考慮してチェックしてくれると思います。お待ちくださいね^^
2018年6月27日 20:09
子テーマのfunctions.phpに以下の関数を貼り付けるとどうでしょうか。
function get_content_excerpt($content, $length = 70){ $content = do_shortcode($content); $content = preg_replace('/.+/is', '', $content); //moreタグ以降削除 $content = strip_shortcodes($content);//ショートコード削除 $content = strip_tags($content);//タグの除去 $content = str_replace(' ', '', $content);//特殊文字の削除(今回はスペースのみ) $content = preg_replace('/\[.+?\]/i', '', $content); //ショートコードを取り除く $content = preg_replace(URL_REG, '', $content); //URLを取り除く // $content = preg_replace('/\s/iu',"",$content); //余分な空白を削除 //$lengthが整数じゃなかった場合の処理 if (is_int(intval($length))) { $length = intval($length); } else { $length = 70; } $over = intval(mb_strlen($content)) > $length; $content = mb_substr($content, 0, $length);//文字列を指定した長さで切り取る if ( $over && $more = get_entry_card_excerpt_more() ) { $content = $content.$more; } $content = esc_html($content); return $content; }
これは、自動生成抜粋文を取得する閑静なんですが、全ての投稿においてdo_shortcodeを行ってショートコードを展開しています。
ただこれをやると、全て一覧に表示される抜粋文(20個表示されたら20個の本文)に対してショートコード展開処理が行われるので表示スピード的に……となるので、テーマ自体に実装するかどうかは検討の余地ありだと思っています。
トピックスターター 2018年6月28日 11:27
わいひら様
コードまで作っていただき、誠にありがとうございます。
”抜粋文はショートコードを展開しない”ということを認識しましたので、そもそもこのトピックは不具合報告に書いてはいけない類いのものでした。申し訳ありません。
なお、いただいたコードをCocoon Childのfunctions.phpに入れてみたのですが(子テーマというのはCocoon Childのことでよかったでしょうか?)、抜粋文全部が表示されなくなったようです。
私としましては”抜粋文はショートコードを展開しない”を認識しましたので、それを踏まえてやっていきたいと思います。
お忙しいところご対応くださり、誠にありがとうございました。
2018年6月29日 20:06
すいません、do_shortcode関数は以下のようにショートコード単体で使うものでした。
do_shortcode('[shortcode]');
フックと混同していました。
一応、解決策を実装したもの以下にアップしておきます。
https://github.com/yhira/cocoon/archive/master.zip
※前回カスタマイズしたコードは削除してください。
以下は手順。
まず上記のテーマでアップデートします。
その後、子テーマのfunctions.phpに以下のコードを貼り付ければ、ショートコードが展開された自動生成抜粋が表示されると思います。
add_filter( 'content_excerpt_before', 'do_shortcode' );
今回は、動作確認したので多分大丈夫かと思います。
トピックスターター 2018年6月29日 21:05
おー、すごい@@
表示されました@@
すごいなぁー@@
さすがだなぁー@@
ありがとうございます。
で、既にCocoon 0.7.5をインストールしてしまっていたので、例によってえいやで先走って新しくご作成くださったコードを入れてみたところ、表示されました。
つまり、Cocoon 0.7.5では実装されている?、ということかと思われます。
重ね重ねありがとうございます。
すごいですねー/~
わいひら reacted
2018年6月30日 23:25
うまくいったようでよかったです^^
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。