【child_pages_shortcode】親ページに子ページの案内をのせる場合の施策
子ページがたくさんある場合に負荷が大きくなる問題の改善
このプラグインでは子ページのリストを表示する際に、抜粋が入力されていればそのテキストを、入力されていなければ本文から自動的に抽出して、タイトルの下に表示します。
この際、WordPressの get_the_excerpt というフィルターフックを使用するんですが、子ページがある程度の数になると、この処理が非常に重くなることが判明しました。
そこで、その対策として、ショートコードに以下のような属性を追加しました。
上の例のように、 disabled_excerpt_filters という属性を使用すると、get_the_excerpt フィルターが一切適用されなくなります。
この結果、抜粋が入力されていない場合は、抜粋の部分に何も表示されなくなりますが、子ページが増えても負荷は上昇しなくなります。


できれば、抜粋は抜粋欄で入力していただいて、 disabled_excerpt_filters 属性をセットしていただくことを推奨します。
フィルターフックの追加
今回のバージョンアップで、child_pages_shortcode_post というフィルターフックを追加しました。
このフックは、子ページの $post に対するフックで、以下のように使用します。
<?php
add_filter('child_pages_shortcode_post', 'my_child_pages_shortcode_post');
function my_child_pages_shortcode_post($post){
    // 抜粋の代わりに本文を使用する
    $post->post_excerpt = $post->post_content;
    return $post;
}
【固定ページに表示させる列数】
★列を3列にする場合
この場合のアイキャッチ画像は150X150で表示されるので150X150で用意しておくのがよい。
★列を4列にする場合
この場合のアイキャッチ画像は120X120で表示されるので120X120で用意しておくのがよい。
【列で表示した場合の修正箇所】
★商品名のフォントが大きすぎるので、適性な大きさにスタイルシートから変更する。h4のfontのサイズで変更する。
★商品名の左側に赤いラインが出ているので削除する。スタイルシートから変更。
#content h4 {
 color: #9F7535;
 border-left-width: 3px;
 border-left-style: solid;
 border-left-color: #D6B583;
 font-size: 16px;
 line-height: 16px;
 margin-top: 15px;
 margin-right: 5px;
 margin-bottom: 10px;
 margin-left: 5px;
 padding-top: 3px;
 padding-right: 5px;
 padding-bottom: 3px;
 padding-left: 8px;
}
となっているが
font-size: 16px;→font-size: 12px;
 border-left-width: 3px;
 border-left-style: solid;
 border-left-color: #D6B583;
は削除
以上
	
