在本系列的上一章中,我們開始學習了大約 50 個過濾器鉤子,在數(shù)百個過濾器中,我們每章學習了大約 10 個。
在本教程中,我們將分別說明每個過濾器掛鉤的用法。
讓我們開始吧。
在
中處理可翻譯數(shù)據(jù)
中最酷的功能
是幾乎所有文本內容都可以翻譯成任何語言。當然,如果你的網(wǎng)站語言是英文,你可能沒有這個要求;但不能保證每個人都會使用英文網(wǎng)站。
這個過濾器允許你以不同的方式做到這一點,讓我們看一個例子:
示例:更正開發(fā)人員的語法錯誤
比如你找到一個很棒的插件英文垃圾站的利器幾款wordpress自動采集插件,但是你發(fā)現(xiàn)這個插件的開發(fā)者英語水平很差,而且代碼中有很多錯誤的文本代碼。幸運的是,所有這些字符串都是可重新翻譯的,而且這個過濾鉤子是可用的:
優(yōu)化標題網(wǎng)址別名
將使用一個名為()的函數(shù)來優(yōu)化標題:自動將空格替換為“-”并保存為url別名。這個函數(shù)可以用過濾鉤子擴展。
示例:刪除標題網(wǎng)址別名中的“the”字樣
如果您不希望“the”一詞出現(xiàn)在 url 別名中,可以使用以下代碼將其刪除。
$title = str_replace( '-the-', '-', $title );
$title = preg_replace( '/^the-/', '', $title );
return $title;
}
?>
簡單而完美的解決方案。
排除短代碼
這個方便的過濾器允許您通過 () 函數(shù)指定不應該運行哪些短代碼(),詳情請參閱官方文檔。
示例:排除短代碼
如果您想排除某個短代碼,可以將短代碼的名稱添加到“不要”列表中wordpress網(wǎng)站建設,參見以下代碼:
p>
過濾評論的審批狀態(tài)
有一種算法可以在將評論添加到待審核或已批準列表之前確定是否應將其歸類為垃圾郵件。有了這個過濾器鉤子,上面的定性標準可以稍微改變。
示例:將帶有長用戶名的評論標記為垃圾郵件
在土耳其英文垃圾站的利器幾款wordpress自動采集插件,垃圾評論通常使用長用戶名,有時還使用長 URL。
使用下面的代碼自動清理帶有長名稱的垃圾評論,例如“和低(點擊這里查看更多)”。
return ( strlen( $commentdata['comment_author'] ) > 75 ) ? 'spam' : $approved;
}
// Example source: https://gist.github.com/norcross/5468979
?>
感謝您的想法!
特別提示:如果要通過檢測評論url是否超過一定長度來判斷是否為垃圾評論,只需將''修改為''即可。
配置“通過電子郵件發(fā)送文章”功能
您知道您可以通過電子郵件發(fā)表文章嗎?提供這個很少用到的功能,就是過濾鉤子。
示例:啟用或禁用“通過電子郵件發(fā)送文章”功能
在某些情況下(比如安全考慮)你可能想禁用這個功能,只要下面這行代碼就可以解決。
或者如果你想在多站點中啟用它(這個功能在多站點默認是禁用的)wordpress網(wǎng)站制作,你可以使用()函數(shù):
過濾頁面標題
頁面標題是通過()函數(shù)輸出的,也就是你在瀏覽器標簽欄上看到的那個。函數(shù)允許我們自定義這個標題。
示例:重寫頁面標題(正確的方式)
Tom在他的博客中解釋了如何自定義頁面標題,詳情請查看原文,這里是一個例子:
if ( is_feed() )
return $title;
// Add the site name.
$title .= get_bloginfo( 'name' );
// Add the site description for the home/front page.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )
$title = "$title $sep $site_description";
// Add a page number if necessary.
if ( $paged >= 2 || $page >= 2 )
$title = sprintf( __( 'Page %s', 'tuts_filter_example' ), max( $paged, $page ) ) . " $sep $title";
return $title;
}
// Example source: http://tommcfarlin.com/filter-wp-title/
?>
在將評論保存到數(shù)據(jù)庫之前對其進行處理
如果您在保存到數(shù)據(jù)庫之前需要評論數(shù)據(jù)(評論 id)、評論者姓名、電子郵件地址、URL 等),那么過濾器掛鉤可以幫助您。
示例:將注釋從大寫轉換為小寫
您是否遇到過很多每個單詞都大寫的評論?如果是這樣,您可以使用以下代碼將其自動轉換為小寫。
// Example source: http://codex.wordpress.org/Plugin_API/Filter_Reference/preprocess_comment
?>
登錄后管理重定向地址
此過濾器允許用戶在登錄后臺后自定義重定向地址(不在管理面板的設置中),這在某些情況下很有用。
示例:將訂閱者重定向到網(wǎng)站主頁
如果您不希望用戶(訂閱者角色)在登錄后看到管理控制面板,您可以將頁面重定向到網(wǎng)站主頁。
roles ) && is_array( $user->roles ) ) {
if ( in_array( 'subscriber', $user->roles ) ) {
return home_url();
} else {
return $redirect_to;
}
}
return;
}
?>
官方文檔提醒我們,函數(shù)必須在()外使用,因為調用過濾鉤子時該函數(shù)無效。
為插件創(chuàng)建一個操作鏈接
如果您正在開發(fā)插件,那么您可能想知道其他開發(fā)人員如何將設置鏈接添加到插件頁面,他們使用的是以下過濾器掛鉤。
示例:向插件頁面添加設置鏈接
要在插件頁面添加設置鏈接,可以使用以下函數(shù)并將其掛載到過濾器掛鉤。
function plugin_action_links_example( $links ) {
$links[] = '' . __( 'Settings' ) . '';
return $links;
}
// Example source: https://codex.wordpress.org/Plugin_API/Filter_Reference/plugin_action_links_(plugin_file_name)
?>
請注意,我們在這里使用插件的名稱來掛載函數(shù)和過濾器。
在文章編輯器中過濾內容
有沒有想過在后臺在編輯器里寫文章的時候預填一些內容,或者需要給作者一些提醒,那么就可以使用 hooks了。
示例:給文章作者的提示
讓我們看看如何給作者打賞:如果你想給博主更多的打賞,你可以在編輯器中這樣做使用以下代碼:
Come up with good tags for the post,Set the publish time to 08:00 tomorrow morning,Change the slug to a SEO-friendly slug,And delete this text, hehe.' . "\n\n";
$template .= 'Bye!';
return $template;
} else
return $content;
}
// Example source: http://wpfilte.rs/the_editor_content/
?>
為變量 $ 分配你想要的任何字符串。
第二部分結束語
在這篇文章中,我們已經完成了第二部分10個過濾鉤子的學習,希望大家喜歡并且可以學習到新的知識,請留下您的建議,當然也不要忘記分享您的文章想和你的朋友相處融洽,我們下個教程見。
原文來自:–cms-21296
大學原創(chuàng)譯文,未經許可禁止轉載和使用。
免責聲明:除非另有說明或標記,否則本網(wǎng)站上的所有文章均最初發(fā)布在本網(wǎng)站上。任何個人或組織未經本站同意,不得將本站內容復制、盜用、收集、發(fā)布到任何網(wǎng)站、圖書等媒體平臺。如果本站內容侵犯原作者合法權益,您可以聯(lián)系我們處理。
文章來自互聯(lián)網(wǎng),侵權請聯(lián)系刪除,文章闡述觀點來自文章出處,并不代表本站觀點。
www.bjcthy.com