「COCOON」でインデックスリストミドル(インフィード広告)の表示位置を変更

blog

ウィジェットを利用してgoogle adsenseのインフィード広告を表示したい場合、「トップ」「ミドル」「ボトム」の3つの「インデックスリスト」ウィジェットがあります。

その中で「インデックスリストミドル」は、デフォルトでは上から4番目に表示されます。その位置を変更したい場合どうしたら良いかについて書き留めておきたいと思います。

*エントリーカードが「デフォルト」であることが前提です。
*google adsenseのポリシー違反にならないようにお気を付けください。

親テーマを編集する場合

親テーマのフォルダ「lib」の下に「ad.php」と言うのがありますが、これを編集します。

266行目に

$count == 3

という箇所があります。この数字を表示したい位置に変更します。5番目なら「4」に変えるとか。

この場合、親テーマを変更していますので、「cocoon」をバージョンアップすると、元に戻ってしまいますので、再度の書き換えが必要になります。

子テーマを使いたいところですが、「lib」内のものは子テーマにコピーして使おうとしても効かないみたいですね。

「tmp」内のものは子テーマにコピーして編集できるのですけれど。

それでも子テーマ

それでも子テーマを利用したい場合は、該当箇所を子テーマのfunction.phpに丸々コピーしてそれを編集します。

親テーマの lib/ad.php の261行目から281行目がその個所になります。

//ウィジェットをトップページのリスト表示中間に掲載するか
if ( !function_exists( 'is_index_middle_widget_visible' ) ):
function is_index_middle_widget_visible($count){
if (
//3個目の表示のときのみ
($count == 3) &&
// //トップページリストのみ
// is_home() &&
// //ページネーションの最終ページでないとき
// !is_pagination_last_page() &&
//1ページに表示する最大投稿数が6以上の時
is_posts_per_page_6_and_over() &&
//エントリーカードタイプの一覧のとき
//is_entry_card_type_entry_card() &&
//&&//公開記事が6以上の時
(get_all_post_count_in_publish() >= 6)
) {
return true;
}
}
endif;

これを子テーマのfanction.phpにコピーして、$count == 3 の所の数字を変更します。

この場合も、バージョンアップの際、親テーマの構成が変わった場合は、影響を受ける可能性はあります。

fanction.phpを弄っていますので、ヘタすると真っ白になってしまう事もありますので、バージョンアップしたときはチェックが必要です。

該当箇所が書かれていないfanction.phpをバックアップとして持っておいた方が良いように思います。

どちらにしても自己責任でお願いします。

 

wordpressの管理画面から、function.phpなどの.phpファイルを編集した場合、うまく動作しない時があります。

その際は、ftpソフトなどでいったん該当ファイルをローカルに保存して、そこで編集を行います。

編集した.phpを、ftpソフトなどで再度アップロードする事で正常動作する場合があります。

.phpを編集する際は、サクラエディタ が、エラーが少ないのではないかと思います。

上のエディタで保存する場合は、文字コード「UTF-8」、BOM「チェック無し」がエラーが少ないのでは無いかと思います。

sakuraediter