10個用於WordPress用戶的有用代碼片段

[ad_1]

我們知道插件可用於擴展WordPress的功能。但是,如果你可以在WordPress中做一些較小的東西而不安裝它們怎麼辦?說,你不喜歡頂部的管理欄,並希望消除它?是的,這可以通過WordPress的代碼片段來完成。

基本上,WordPress的代碼片段用於執行某些可能需要專用的較小插件的操作。此外,此類代碼段放置在WordPress核心或主題文件之一(通常是主題的functions.php文件)中。

在本文中,我們列出了一些非常有用的WordPress用戶代碼片段:

10個用於WordPress用戶的有用代碼片段

謹慎之言!

正如您可能已經猜到的,WordPress的代碼片段雖然非常有用,但往往會改變默認功能。每個代碼段都有一小部分錯誤。通常,這些問題傾向於由於不兼容的插件和/或主題而出現,並且一旦消除所述主題/插件或決定不使用所述片段就傾向於消失。

但是,為了更加安全,在通過代碼段進行任何更改之前,請務必對WordPress網站進行適當的備份。此外,如果您遇到任何錯誤或性能問題,請回滾您的站點並檢查是否存在任何插件或不兼容的主題問題。

現在,轉到WordPress用戶的代碼片段!

1.允許貢獻者上傳圖像

默認情況下,WordPress不允許貢獻者帳戶上傳圖像。當然,您可以將該特定帳戶提升為作者或編輯者,這將賦予他們上傳和修改圖像的權利。但是,它還將授予他們額外的權利,例如發布他們自己的文章的能力(而不是提交審查)。

此特定代碼段允許參與者帳戶將圖像上傳到他們的文章,而不授予他們任何其他許可權或許可權。將其粘貼到主題的functions.php文件中:

if(current_user_can('contributor')&&!current_user_can('upload_files'))add_action('admin_init','allow_contributor_uploads'); function allow_contributor_uploads(){$ contributor = get_role('contributor'); $供款人> add_cap( 'upload_files'); }

資源

2.顯示沒有插件的熱門帖子

這個有點棘手。但是,如果您不太熱衷於安裝額外的插件來展示熱門帖子(例如,您的伺服器內存或磁碟空間有限),請按照此片段進行操作。

將以下內容粘貼到functions.php中:

function count_post_visits(){if(is_single()){global $ post; $ views = get_post_meta($ post-> ID,'my​​_post_viewed',true); if($ views ==''){update_post_meta($ post-> ID,'my​​_post_viewed','1'); } else {$ views_no = intval($ views); update_post_meta($ post-> ID,'my​​_post_viewed',++ $ views_no); add_action('wp_head','count_post_visits');

此後,將以下任何位置粘貼到您希望顯示熱門帖子的模板文件中:

$ popular_posts_args = array('posts_per_page'=> 3,'meta_key'=>'my_post_viewed','orderby'=>'meta_value_num','order'=>'DESC'); $ popular_posts_loop = new WP_Query($ popular_posts_args); while($ popular_posts_loop-> have_posts()):$ popular_posts_loop-> the_post(); //循環繼續結束; wp_reset_query();

資源

3.在WordPress中禁用搜索

WordPress的搜索功能已經存在了很長時間。但是,如果您的網站不需要它,或者您不希望用戶出於某種原因「搜索」您的網站,則可以使用此代碼段。

從本質上講,它是一個自定義函數,只是使搜索功能無效。不只是側邊欄或菜單中的搜索欄,而且原生WP搜索的整個概念都消失了。為什麼這有用?同樣,如果您在低規格伺服器上運行您的網站並且沒有需要搜索的內容(可能您沒有運行博客),它可以提供幫助。

再次,將其添加到functions.php文件中:

function fb_filter_query($ query,$ error = true){if(is_search()){$ query-> is_search = false; $ query-> query_vars(s)= false; $ query-> query(s)= false; //錯誤if($ error == true)$ query-> is_404 = true; add_action('parse_query','fb_filter_query'); add_filter('get_search_form',create_function('$ a',「return null;」));

資源

4.保護您的網站免受惡意請求

有多種方法可以保護您的網站。您可以安裝安全插件,打開防火牆或選擇免費功能,例如Jetpack Protect,以阻止對您網站的暴力攻擊。

以下代碼段一旦放入functions.php文件中,就會拒絕所有惡意URL請求:

global $ user_ID; if($ user_ID){if(!current_user_can('administrator')){if(strlen($ _ SERVER('REQUEST_URI'))> 255 || stripos($ _ SERVER('REQUEST_URI'),「eval(」)|| stripos($ _ SERVER('REQUEST_URI'),「CONCAT」)|| stripos($ _ SERVER('REQUEST_URI'),「UNION + SELECT」)|| stripos($ _ SERVER('REQUEST_URI'),「base64」)){ @header(「HTTP / 1.1 414 Request-URI Too Long」); @header(「Status:414 Request-URI Too Long」); @header(「Connection:Close」); @exit;}}}

資源

5.在沒有插件的情況下分頁你的網站

良好的分頁對於允許用戶瀏覽您的網站非常有用。而不是「先前」或「下一個」鏈接。這是我們WordPress的另一個代碼片段發揮作用的地方 – 它為您的內容添加了良好的分頁。

在functions.php中:

global $ wp_query; $ total = $ wp_query-> max_num_pages; //如果我們有超過1頁,只會打擾其他人! if($ total> 1){//獲取當前頁面if(!$ current_page = get_query_var('paged'))$ current_page = 1; //「格式」的結構取決於我們是否使用漂亮的永久鏈接$ format = empty(get_option('permalink_structure'))? '&page =%#%':'page /%#%/'; echo paginate_links(array('base'=> get_pagenum_link(1)。'%_%','format'=> $ format,'current'=> $ current_page,'total'=> $ total,'mid_size'=> 4,'type'=>'list')); }

資源

6.禁用管理欄

WordPress管理欄提供了幾個關鍵功能的便捷鏈接,例如添加新帖子和頁面的功能等。但是,如果您沒有使用它並希望將其刪除,只需將以下代碼段粘貼到您的functions.php中即可。文件:

//從前端添加管理欄add_filter('show_admin_bar','__ return_false');

資源

7.在RSS Feed中顯示後縮略圖

如果您希望在博客的RSS源中顯示縮略圖後圖像,則以下WordPress的代碼段可能很有用。

將它放在functions.php文件中:

//將縮略圖放入rss feed函數wpfme_feed_post_thumbnail($ content){global $ post; if(has_post_thumbnail($ post-> ID)){$ content =''。 $內容; } return $ content; } add_filter('the_excerpt_rss','wpfme_feed_post_thumbnail'); add_filter('the_content_feed','wpfme_feed_post_thumbnail');

資源

8.更改作者永久鏈接結構

默認情況下,WordPress會將作者配置文件顯示為yoursite.com/author/name。但是,您可以將其更改為您喜歡的任何內容,例如yoursite.com/writer/name

需要將以下代碼段粘貼到functions.php文件中。然後,它將作者永久鏈接結構更改為「/ profile / name」:

add_action('init','cng_author_base'); function cng_author_base(){global $ wp_rewrite; $ author_slug ='個人資料'; //更改slug名稱$ wp_rewrite-> author_base = $ author_slug; }

資源

9.自動鏈接到內容中的Twitter用戶名

如果您運營的網站主要關注Twitter(可能是病毒式內容網站等),則此功能尤其有用。以下code.php的代碼段會將您內容中的所有@ mentions轉換為各自的Twitter個人資料。

例如,您內容中的@happy提及將轉換為Twitter帳戶「twitter.com/happy」的鏈接(「happy」是用戶名):

function content_twitter_mention($ content){return preg_replace('/((^ a-zA-Z0-9 -_&))@((0-9a-zA-Z _)+)/',「$ 1@ $ 2「,$ content);} add_filter('the_content','content_twitter_mention'); add_filter('comment_text','content_twitter_mention');

資源

10.創建PayPal捐贈短代碼

如果您使用PayPal Donate功能接受來自您網站訪問者的捐款,您可以使用此代碼段創建短代碼,從而使捐贈更容易。首先,將以下內容粘貼到functions.php文件中:

function donate_shortcode($ atts,$ content = null){global $ post; extract(shortcode_atts(array('account'=>'your-paypal-email-address','for'=> $ post-> post_title,'onHover '=>'',),$ atts)); if(empty($ content))$ content ='捐贈';回來''$內容。'「; } add_shortcode('donate','donate_shortcode');

然後,您可以輕鬆使用(捐贈)短代碼,例如:

(捐贈)我的文字在這裡(/捐贈)

資源

如何添加代碼片段?

如每個代碼段所述,您只需將所述代碼段添加到所需文件即可。大多數情況下,您只需要在functions.php文件中添加代碼片段(在某些情況下,它可能會有所不同)。

但是,如果您不習慣編輯主題文件,該怎麼辦?如果是這樣的話,不要害怕。 Code Snippets插件可以幫助你!

這是一個簡單的插件,允許您向functions.php添加代碼片段,無需任何手動文件編輯。它將代碼片段視為自己的單獨插件 – 您添加代碼並點擊保存…其餘部分由Code Snippets插件處理。

激活插件後,您會在「插件」下找到一個「代碼段」菜單。前往代碼段»添加新內容:

WordPress的代碼片段

為代碼段添加名稱,將代碼段粘貼到代碼區域,然後提供說明供您自己參考。完成後,激活片段,你就可以開始了!即使您更改主題,代碼段仍然可用。

這樣,您可以添加和刪除代碼片段,就像它們是帖子或頁面一樣,而無需編輯主題文件。

所以你有它,有用的WordPress代碼片段以及一個有用的插件來添加它們!有你喜歡的WordPress特殊代碼片段嗎?在下面的評論中分享!

相關文章