0

WordPress の抜粋に改行を含めたいです。

これを達成するために、この関数を変更できることがわかりました。

function wp_strip_all_tags($string, $remove_breaks = false) {
  $string = preg_replace( '@<(script|style)[^>]*?>.*?</\\1>@si', '', $string );
  $string = strip_tags($string);

  if ( $remove_breaks )
    $string = preg_replace('/[\r\n\t ]+/', ' ', $string);

  return trim( $string );
}

に:

function wp_strip_all_tags_breaks($string, $remove_breaks = false) {
  $string = preg_replace( '@<(script|style)[^>]*?>.*?</\\1>@si', '', $string );
  $string = strip_tags($string, '<p>');

  if ( $remove_breaks )
    $string = preg_replace('/[\r\n\t ]+/', ' ', $string);

  return trim( $string );
}

テーマを変更して機能を切り替え、この機能を提供する最良の方法は何ですか?

4

1 に答える 1

1

WordPress コア機能のオーバーライド/オーバーロードはfunctions.php、現在のテーマで行う必要があります。

まず、新しい関数を定義する必要がありますfunctions.php(名前は元の wpcore 関数名とは異なる必要があります)。次に、古い関数を削除し、新しい関数をそれぞれのフック/フィルターに追加します。

その場合、次のthe_excerpt()ように行う必要があります。

function new_function() {
    //code here
}

remove_filter('get_the_excerpt', 'old_function');
add_filter('get_the_excerpt', 'new_function');

それが理にかなっていることを願っています。

編集:これは、書式設定の編集方法に関する優れたチュートリアルです。the_excerpt()

于 2013-06-30T05:12:02.070 に答える