Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › 関連記事のみ全体をリンク化したい
- このトピックには15件の返信、2人の参加者があり、最後にかうたっくにより6年、 8ヶ月前に更新されました。
-
投稿者投稿
-
-
ささぽんゲスト
お世話になります。
カスタマイズでエントリーカード全体をリンク化をすると全体リンク化しますが、エントリーカードは全体リンク化させず、関連記事だけを全体リンク化させたい場合、どうすればいいでしょうか?
-
わいひらキーマスター
動作確認はしていないんですけど、子テーマのfunctions.phpに以下のコードを貼り付けると多分いけるかと思います。
function get_template_part_card($template_name){ ob_start();//バッファリング get_template_part($template_name);//テンプレートの呼び出し $template = ob_get_clean();//テンプレート内容を変数に代入 if (($template_name == 'related-entry-card') || ($template_name == 'related-entry-thumbnail-card') ) { //エントリーカードをカード化する場合はaタグを削除して全体をa.hover-cardで囲む $template = wrap_entry_card($template); } echo $template; }
-
ささぽんゲスト
>わいひらさん
php編集しないとと駄目なのですか・・・
関連記事のサムネ画像とタイトル文章を一緒のリンク化ってするのにもやはりphp編集が必要でしょうか?cssのdisplay block;とかで要素(サムネ画像、タイトル)を一緒にリンク化させるとかもやはりcssだけでは難しいでしょうか?
-
わいひらキーマスター
CSSだけでは無理です。
PHPを使いたくない場合は、jQueryを使えば出来ないこともないかもしれないけど、そっちの方が面倒です。 -
ささぽんゲスト
>わいひらさん
そうなんですね・・・
functions.phpの編集方法、色々下調べしてから編集することにします。教えていただいてありがとうございました。
-
かうたっくゲスト
そのコードをコピペしました!
すると反映しなかったので、困ってる感じかもしれません。ちなみに関連記事の設定をデフォルトから別のデザインに変更すれば、全体リンクになってたように思います
外観 -カスタマイズ ー レイアウト(投稿・固定ページ) -関連記事表示タイプ
ボタンをポチポチっとするだけなので、どんな表示か試すのもカンタンかもしれません。 -
わいひらキーマスター
試したら僕はうまくいきました。
テーマカスタマイザーの「レイアウト(全体・リスト)」の「エントリーカード全体をリンク化 」は有効になっているでしょうか。
ただ、上記のカスタマイズ方法では、ブログカードは全体リンク化される模様。 -
わいひらキーマスター
ブログカードも「全体リンク化」しないで関連記事のみ「全体リンク化」するなら以下のように書く必要がありそう。
以下子テーマのfunctions.phpにコピペ。function get_template_part_card($template_name){ ob_start();//バッファリング get_template_part($template_name);//テンプレートの呼び出し $template = ob_get_clean();//テンプレート内容を変数に代入 if (($template_name == 'related-entry-card') || ($template_name == 'related-entry-thumbnail-card') ) { //エントリーカードをカード化する場合はaタグを削除して全体をa.hover-cardで囲む $template = wrap_entry_card($template); } echo $template; } function wrap_entry_card($template, $url = null, $is_target_blank = false, $is_nofollow = false, $additional_classes = null){ if ( is_wraped_entry_card() && !$url ) { $template = preg_replace('/<a [^>]+?>/i', '', $template); $template = str_replace('</a>', '', $template); $class = null; if ( !$url ) { $url = get_the_permalink(); } $target = null; if ( $is_target_blank ) { $target = ' target="_blank"'; } //コメント内でブログカード呼び出しが行われた際はnofollowをつける $nofollow = $is_nofollow ? ' rel="nofollow"' : null; $template = '<a class="hover-card'.$additional_classes.'" href="'.$url.'"'.$target.$nofollow.'>'.$template.'</a>'; } return $template; }
-
かうたっくゲスト
テーマカスタマイザーの「レイアウト(全体・リスト)」の「エントリーカード全体をリンク化 」
私の環境では無効になっていて、どちらも試しました。なぜかわかりませんけど、反映しませんでした。テーマカスタマイザーの「レイアウト(全体・リスト)」の「エントリーカード全体をリンク化 」を有効化することで、
Simplicityのレイアウトカスタマイズにある「エントリーカード全体をリンク化」機能の説明のとおりの動きになります。※サーバー・ブラウザのキャッシュもない状態。
自分の環境だけなら良いですが、とりあえずご報告
なぜだか…サッパリわかりません・・・ -
わいひらキーマスター
ちょっと僕の環境では、普通に動作しているようなので、
原因がわからないと、何とも出来ないかもしれません;謎です。 -
ささぽんゲスト
>わいひらさん
>かうたっくさんお二人ともありがとうございます。
自分でもやってみましたが、かうたっくさんと同じく反映されませんでした。
とはいえ、関連記事だけのリンク化は自己満足で、クリック率上がるものでもなさそうなので別にできなかったらできなかったでいいかなーと・・・
重ね重ね教えていただきありがとうございました。
-
わいひらキーマスター
前回の、コードは、ブログカードの設定状態により、動作が変わるのかも。
以下なら、おそらくうまくいくかと思います。(※一時的に当サイトも、関連記事が全体選択されるようになっています)function get_template_part_card($template_name){ ob_start();//バッファリング get_template_part($template_name);//テンプレートの呼び出し $template = ob_get_clean();//テンプレート内容を変数に代入 if (($template_name == 'related-entry-card') || ($template_name == 'related-entry-thumbnail-card') ) { //エントリーカードをカード化する場合はaタグを削除して全体をa.hover-cardで囲む $template = wrap_entry_card($template); } echo $template; } function wrap_entry_card($template, $url = null, $is_target_blank = false, $is_nofollow = false, $additional_classes = null){ if ( is_wraped_entry_card() && (strpos($template,'class="blog-card') === false) ) { $template = preg_replace('/<a [^>]+?>/i', '', $template); $template = str_replace('</a>', '', $template); $class = null; if ( !$url ) { $url = get_the_permalink(); } $target = null; if ( $is_target_blank ) { $target = ' target="_blank"'; } //コメント内でブログカード呼び出しが行われた際はnofollowをつける $nofollow = $is_nofollow ? ' rel="nofollow"' : null; $template = '<a class="hover-card'.$additional_classes.'" href="'.$url.'"'.$target.$nofollow.'>'.$template.'</a>'; } return $template; }
まあ、確かにクリック率はさほど変わらないとは思います。
-
かうたっくゲスト
カスタマイザーの設定は下記の通りが前提。
外観 -カスタマイズ ー レイアウト(投稿・固定ページ) -関連記事表示タイプ
関連記事表示タイプ
関連記事の表示スタイルの設定です。
デフォルト(推奨表示数3-10こちらはデフォルトでサムネイルではない
次
外観 -カスタマイズ ー 「レイアウト(全体・リスト)」の一覧リストのスタイル
一覧(インデックス)ページの表示スタイル設定。
エントリーカード(デフォルト)チェックあり
次同じく
外観 -カスタマイズ ー 「レイアウト(全体・リスト)」の「エントリーカード全体をリンク化 」エントリーカード全体をリンク化
インデックスリスト・関連記事のエントリーカードやブログカード全体をAタグで囲ってリンク化するか。これはチェックなし
テーマカスタマイザーの「レイアウト(全体・リスト)」の「エントリーカード全体をリンク化 」を有効化することで、
Simplicityのレイアウトカスタマイズにある「エントリーカード全体をリンク化」機能の説明のとおりの動きになります。※サーバー・ブラウザのキャッシュもない状態。
と、確認したうえで書きました。
でも、エックスサーバーのキャッシュは
PHP 7.1 / PHP 7.0 / PHP 5.6 / PHP 5.5
「FastCGI」と「OPcache」が標準で有効です。
設定を変更することはできません。引用元:サーバーパネルの『PHP高速化設定(FastCGI化)』
再度確認したら、『PHPバージョンの切り替え』設定がPHP7.0.18
思いっきりキャッシュの影響がありそうです?確認した時はなぜかキャッシュはoffになっていた。※何も触ってない
wp-includes/version.phpを確認したらサブドメインテストブログも、私のドメインブログも
$required_php_version = ‘5.2.4’;
となっていて、ちょっと混乱してます
そしてBitNamiローカル(新しい目?の環境だったような)で確認しても状況は同じで、
反映しません。というワチャワチャな報告です。でスミマセン、わからん!の一言で。
確かにクリック率はさほど変わらないとは思います。
たしかに。ユーザーさんのポチポチが多少増える事も考えられる的な
-
かうたっくゲスト
PHP5.6.30
現在公式にサポートされているバージョンです。PHP5.5.38 / PHP5.1.6
旧バージョンです。
今後バージョンアップの予定はないため新規での利用は推奨しません。
PHP 7.1.x / PHP 7.0.x への移行を推奨します。PHP5.6.30に戻してもサポートされているためか、反映せず
PHP5.5.38でも同じで。見る場所が違ったのかもですが、報告のみとさせていただきます^^ -
わいひらキーマスター
エントリーカード全体をリンク化
インデックスリスト・関連記事のエントリーカードやブログカード全体をAタグで囲ってリンク化するか。これはチェック(有効化)する必要ありますよ。
-
かうたっくゲスト
テーマカスタマイザーの「レイアウト(全体・リスト)」の「エントリーカード全体をリンク化 」
私の環境では無効になっていて、どちらも試しました。なぜかわかりませんけど、反映しませんでした。テーマカスタマイザーの「レイアウト(全体・リスト)」の「エントリーカード全体をリンク化 」を有効化することで、
Simplicityのレイアウトカスタマイズにある「エントリーカード全体をリンク化」機能の説明のとおりの動きになります。有効にしていると、カスタマイズなしでも反映した感じでしたねっ^^
-
-
投稿者投稿