私はこれがうまくいったと思いましたが、残念ながらそうではありません。静的ホームページの抜粋の長さを50にし、他のすべてのページの長さを20にする必要があります。これまでのところ、私のコードは次のとおりです。
function custom_excerpt_length( $length ) {
if(is_front_page()) $content='excerpt';
return 50;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
Seamlessthemes.comでは抜粋が50ですが、seamlessthemes.com/themesでは抜粋がまだ50であるため、動作していないと言えるでしょう。何らかの理由でこのテーマのデフォルトは20になっています。 20。
前もって感謝します!
フィルタは単純にpointになります。そこでは値を取ることができます。つまり、変更の余地がある(何かのために)コア内(例えばthe_excerpt()
関数用)に設定されます。
そう...
$some_var = apply_filters( 'change_this_var', 50 );
...ただ言う:
"some var"が
50
に設定されていますが、フィルタコールバックをchange_this_var
に追加すると、get、modify、およびの値を返すことができます。
あなたの質問に基づいて、関数定義( "filter callback"関数の定義)のパラメータとしてgets変数を使用する例を示します。それからはを修正し(ここでは条件付きタグを使用します)、はitを返します。
add_filter( 'excerpt_length', 'wpse61271_custom_excerpt_length', PHP_INT_MAX -1 );
function wpse61271_custom_excerpt_length( $length )
{
return (
is_front_page()
XOR is_home()
)
? 50
: $length;
}