このカスタムエクササイズを別のquestionから使用すると、文字の長さの代わりに表示したい段落の数を制御できます。また、 "Read More"リンクも含まれています。コードを調べると、このリンクが<p>
タグで囲まれていることがわかりました。しかし、私は、この特定の<p>
タグに "Read More"リンクを取り囲むクラスを追加したかったのです。Wordpressカスタムエクセプトクラスを追加する
ここに問題のコードがあります。
if (! function_exists('custom_wp_trim_excerpt')) :
function custom_wp_trim_excerpt($blogo_excerpt) {
global $post;
$raw_excerpt = $blogo_excerpt;
if ('' == $blogo_excerpt) {
$blogo_excerpt = get_the_content('');
$blogo_excerpt = strip_shortcodes($blogo_excerpt);
$blogo_excerpt = apply_filters('the_content', $blogo_excerpt);
// Here we choose how many paragraphs do we want to cutthe excerpt at, This part thanks to Clément Malet
$blogo_excerpt = "<p>$blogo_excerpt</p>";
$wanted_number_of_paragraph = 1;
$tmp = explode ('</p>', $blogo_excerpt);
for ($i = 0; $i < $wanted_number_of_paragraph; ++$i) {
if (isset($tmp[$i]) && $tmp[$i] != '') {
$tmp_to_add[$i] = $tmp[$i];
}
}
$blogo_excerpt = implode('</p>', $tmp_to_add) . '</p>';
$blogo_excerpt = str_replace(']]>', ']]>', $blogo_excerpt);
$excerpt_end = '<a href="'. esc_url(get_permalink()) . '">Read More</a>';
$excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_end);
//$pos = strrpos($wpse0001_excerpt, '</');
//if ($pos !== false)
// Inside last HTML tag
//$wpse0001_excerpt = substr_replace($wpse0001_excerpt, $excerpt_end, $pos, 0);
//else
// After the content
$blogo_excerpt .= $excerpt_end;
return $blogo_excerpt;
}
return apply_filters('custom_wp_trim_excerpt', $blogo_excerpt, $raw_excerpt);
}
endif;
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'custom_wp_trim_excerpt');
さらに、私はこのコードのいくつかの行を理解しようとしています。たとえば、私は "explode"が文字列を配列に分割することを学びました。したがって、このコードでは、 "explode"はコンテンツ全体を各段落に分割し、各段落を配列に配置します。また、 "implode"は配列を文字列に返します。言い換えれば、「インボード」は、すべての内容を構成するために各段落をすべてまとめて戻します。
最後に、私は「$のexcerpt_end」は「続きを読む」であるため、コードはリンク
// After the content
$blogo_excerpt .= $excerpt_end;
「続きを読む」取り囲ん<p>
タグにクラスを追加するために編集されるべきところ、私が知っているかもしれないと思います"。="は、抜粋に抜粋した "Read more"リンクを追加します。
しかし、いくつかの試行錯誤をした後も、 "Read more"リンクを囲んでいる<p>
タグにクラスを追加する方法はまだ分かりません。
助けてください!
最初のpタグではありません。 htmlの出力は '
content paragraphs
(depending on how many paragraphs you want)Read More
です。遅延返信のお詫び。あなたはこれを解決することができましたか? – BenB