我使用此自定義摘錄從另一question,讓您控制段的數量,而不是字符的長度。它還包括「閱讀更多」鏈接。在檢查代碼後,我發現這個鏈接被<p>
標籤包圍。不過,我想在「Read More」鏈接周圍的此特定<p>
標籤中添加一個類。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');
此外,我想了解此代碼中的一些行。例如,我瞭解到「爆炸」將字符串分解爲數組。因此,在此代碼中,「爆炸」將整個內容分解爲每個段落並將每個段落放入一個數組中。另外,「implode」將數組返回到字符串中。換句話說,「內爆」將每個段落全部重新組合起來組成整個內容。
最後,我想我可能知道其中的代碼應該被編輯到類添加到環繞<p>
標籤「更多」鏈接
// After the content
$blogo_excerpt .= $excerpt_end;
因爲「$ excerpt_end」是「閱讀更多」鏈接和「。=」附加「閱讀更多」鏈接到帖子摘錄。
但是,在做了一些試驗和錯誤之後,我仍然無法弄清楚如何向圍繞「閱讀更多」鏈接的<p>
標籤添加一個類。
請幫忙!
這不是第一個p標籤。 html輸出爲 '
content paragraphs
(depending on how many paragraphs you want)Read More
延遲迴復的道歉。你有沒有設法解決這個問題? – BenB