我正在嘗試使用特殊標簽“h5”來回顯文本所以我在 function.php 中添加了這段代碼來回顯每個產品下的簡短描述
add_action( 'woocommerce_after_shop_loop_item', 'woo_show_excerpt_shop_page', 5 );
function woo_show_excerpt_shop_page() {
global $product;
echo $product->post->post_excerpt;
}
它有效,但它回顯了所有文本
所以我編輯了代碼只選擇h5標簽
add_action( 'woocommerce_after_shop_loop_item', 'woo_show_excerpt_shop_page', 5 );
function woo_show_excerpt_shop_page() {
global $product;
//pick up only h5
$html = '<h5></h5>';
$dom = new DOMDocument();
$dom->loadHTML( $html );
echo $dom->getElementsByTagName("h5")->item(0)->textContent;
}
現在我的問題是文本根本不顯示!我做錯了什么?
uj5u.com熱心網友回復:
請記住,計算機是愚蠢的,它們不知道您的意思,只知道您所說的。所以在這段代碼中:
$html = '<h5></h5>';
$dom = new DOMDocument();
$dom->loadHTML( $html );
echo $dom->getElementsByTagName("h5")->item(0)->textContent;
計算機將加載字串'<h5></h5>',將其決議為 HTML,然后從中提取h5元素。它絕不會查看任何其他文本。
您要做的是在另一個字串h5中查找元素,因此您需要告訴計算機還有什么其他字串。根據您的第一次嘗試,您要查看的字串是,因此這是您需要的值:$product->post->post_excerpt$html
global $product;
$html = $product->post->post_excerpt;
$dom = new DOMDocument();
$dom->loadHTML( $html );
echo $dom->getElementsByTagName("h5")->item(0)->textContent;
uj5u.com熱心網友回復:
我錯過了什么還是什么?你不應該能夠做到這一點嗎?
add_action( 'woocommerce_after_shop_loop_item', 'woo_show_excerpt_shop_page', 5 );
function woo_show_excerpt_shop_page() {
global $product;
echo '<h5 >'.$product->post->post_excerpt.'</h5>';
}
編輯:好的,所以也許只是這樣做?
add_action( 'woocommerce_after_shop_loop_item', 'woo_show_excerpt_shop_page', 5 );
function woo_show_excerpt_shop_page() {
global $product;
echo strip_tags($product->post->post_excerpt, '<h5>');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/417923.html
標籤:
