WordPress搜索結(jié)果中只有一篇文章時(shí)自動(dòng)打開(kāi)該文章
當(dāng)我們搜索文章時(shí),如果搜索結(jié)果中只有一篇文章,我們需要點(diǎn)擊一下才能看到這篇文章,現(xiàn)在我們想讓只有一篇文章時(shí)自動(dòng)打開(kāi)這篇文章,從而提高用戶體驗(yàn),實(shí)現(xiàn)方法:
打開(kāi)當(dāng)前模板文件夾里面的functions.php 文件,加入下面代碼即可
/* WordPress搜索結(jié)果中只有一篇文章時(shí)自動(dòng)打開(kāi)該文章 */
add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
exit;
}
}
}
如果列表里只有一篇文章時(shí),也想讓用戶訪問(wèn)該列表時(shí)自動(dòng)打開(kāi)該文章,打開(kāi)當(dāng)前模板里面的functions.php 文件,加入下面代碼;
/* 分類(lèi)列表里只有一篇文章時(shí)直接跳轉(zhuǎn)到該文章具體頁(yè)面 */
function stf_redirect_to_post(){
global $wp_query;
// If there is one post on archive page
if( is_archive() && $wp_query->post_count == 1 ){
// Setup post data
the_post();
// Get permalink
$post_url = get_permalink();
// Redirect to post page
wp_redirect( $post_url );
}
}
add_action('template_redirect', 'stf_redirect_to_post');
最近網(wǎng)站被人刷的搜索,百度收錄了。別人通過(guò)百度點(diǎn)擊進(jìn)來(lái),是一個(gè)無(wú)搜索內(nèi)容的頁(yè)面,現(xiàn)在我想讓點(diǎn)擊這個(gè)鏈接進(jìn)來(lái)直接轉(zhuǎn)向首頁(yè),綜合上面兩個(gè)段代碼,終于成功了。
/* WordPress搜索結(jié)果中無(wú)內(nèi)容時(shí)自動(dòng)跳轉(zhuǎn)到網(wǎng)站首頁(yè) */
add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 0 && $wp_query->max_num_pages == 0) {
wp_redirect( home_url() );
exit;
}
}
}
但是這段代碼不能和第一段代碼同時(shí)使用,因?yàn)槔锩嬗邢嗤膮?shù),會(huì)出錯(cuò)。
經(jīng)測(cè)試,把兩段代碼混合起來(lái)使用就正常了。也就是當(dāng)搜索結(jié)果只有一條內(nèi)容時(shí),自動(dòng)打開(kāi)該條內(nèi)容頁(yè)面,搜索結(jié)果有N條內(nèi)容時(shí),顯示正常搜索頁(yè)面,搜索結(jié)果無(wú)內(nèi)容時(shí),剛自動(dòng)轉(zhuǎn)向首頁(yè)。
代碼如下:
/* WordPress搜索結(jié)果 */
add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 0 && $wp_query->max_num_pages == 0) {
wp_redirect( home_url() );//搜索結(jié)果沒(méi)內(nèi)容時(shí),自動(dòng)轉(zhuǎn)向首頁(yè)。
exit;
}
if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );//搜索結(jié)果只有一條時(shí),自動(dòng)打開(kāi)該條內(nèi)容。
exit;
}
}
}
聲明:
1.本站主要是為了記錄工作、學(xué)習(xí)中遇到的問(wèn)題,可能由于本人技術(shù)有限,內(nèi)容難免有紕漏,一切內(nèi)容僅供參考。
2.本站部分內(nèi)容來(lái)源互聯(lián)網(wǎng),如果有圖片或者內(nèi)容侵犯您的權(quán)益請(qǐng)聯(lián)系我們刪除!
3.本站所有原創(chuàng)作品,包括文字、資料、圖片、網(wǎng)頁(yè)格式,轉(zhuǎn)載時(shí)請(qǐng)標(biāo)注作者與來(lái)源。
1.本站主要是為了記錄工作、學(xué)習(xí)中遇到的問(wèn)題,可能由于本人技術(shù)有限,內(nèi)容難免有紕漏,一切內(nèi)容僅供參考。
2.本站部分內(nèi)容來(lái)源互聯(lián)網(wǎng),如果有圖片或者內(nèi)容侵犯您的權(quán)益請(qǐng)聯(lián)系我們刪除!
3.本站所有原創(chuàng)作品,包括文字、資料、圖片、網(wǎng)頁(yè)格式,轉(zhuǎn)載時(shí)請(qǐng)標(biāo)注作者與來(lái)源。
THE END