wordpress過濾器
❶ 如何創建wordpress插件 新功能
新建一個插件
這個部分告訴你怎麼把開發插件的理想變為現實。
名稱,文件和地方
插件名
你得先想一個名字,並且努力讓它獨一無二。在 Plugins 或者其他寶貝地方——Google或者網路先驗證一下這個名字到底是不是獨一無二的。另外你的名字得讓別人明白你的插件是干什麼的。
插件文件
下一步是創建一個PHP文件。按照原文奇怪的邏輯,你得先想好名字。這個名字還得是從插件名衍生過來的(其實是為你自己辨認的)。舉個例子吧,比如說你的插件名字叫 "Fabulous Functionality",你的PHP名字可能是 fabfunc.php。另外不要用漢語拼音(這也是我加的),還要避免重名。人民群眾會把你的插件安裝到一個你也知道的叫wp-content/plugins/的地方,如果名字沖突豈不要悲劇了。
你也可以選擇把插件分割成幾個文件。 顯而易見一個php文件是必需的,同時還需要圖片、CSS、JavaScript、語言(當然也可以沒有)。如果有很多文件,命名一個php和一個文件夾,例如 fabfunc and fabfunc.php。把你所有插件文件放到文件夾里,然後讓你的用戶相信只要把你的整個壓縮包解壓到 wp-content/plugins/就能正常使用你的勞動成果。
在本文的其餘部分,「插件的PHP文件」是指主要插件的PHP文件,無論是在的wp-content/plugins/或子目錄。
Readme文件
如果你想將你的插件發布到http://wordpress.org/extend/plugins/, 你必須在插件包中建立一個標准格式readme.txt文件. 文件格式參見http://wordpress.org/extend/plugins/about/readme.txt.
主頁
最好為插件建立一個主頁,以介紹插件的功能、安裝方法、使用說明、適用的WordPress版本、插件更新信息等。
文件Headers
現在開始吧,首先讓我們從向PHP主文件中加入一些信息
標准插件信息
插件的主文件頂部必須包括一個標准插件信息頭。WordPress通過標准信息頭識別插件的存在,並把她加入到控制面板的插件管理頁面,這樣插件才能激活,載入插件,並運行裡面的函數;如果沒有信息頭,插件將無法激活和使用。標准信息插件頭的格式為:
<?php
/*
Plugin Name: 插件名
Plugin URI: 插件的介紹或更新地址
Description: 插件描述
Version: 插件版本,例如 1.0
Author: 插件作者名稱
Author URI: 插件作者的鏈接
License: A "Slug" license name e.g. GPL2
*/
?>
標准信息頭至少要包括插件名稱,這樣WordPress才能識別你的插件。其他信息將顯示在控制面板插件管理頁面中。標准插件信息對各行順序沒有要求。
這樣的升級機制能夠正確地讀出你的插件版本,建議你選擇一個格式的版本號,不同版本之間,並堅持下去。例如,x.x中或x.x.x或xx.xx.xxx
注意:文件必須是 UTF-8 格式!
版權信息
通常我們還要在標准信息頭中加入插件的許可證信息。大多數插件使用GPL或GPLCompatibleLicenses許可。如果使用GPL許可,要求插件中包含以下信息:
<?php
/* Copyright 年份 作者名 (email : 你的郵箱)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
?>
開始編寫插件
現在是時候讓你的插件能幹些什麼了。這部分內容包括插件開發的一般思路,而且介紹了開發插件需要做哪些工作。
WordPress插件鉤子
許多WordPress插件通過連接一個或多個WordPress插件鉤子來完成他們的功能。插件鉤子的運行機理是,當WordPress運行到不同階段,WordPress會檢查當前階段是否注冊了插件函數,如果是,那麼函數將被執行。通過執行插件函數改變了WordPress的默認功能。
例如,在WordPress將日誌標題和post發送到瀏覽器前,會檢查是否有插件函數注冊了名為「the_title」的「filter」鉤子。如果是,標題文本將會傳送到注冊函數中,注冊函數返回值將會傳送到瀏覽器。所以,如果要在日誌標題中加入一些信息,可以通過這種方式實現。
另一個例子是名為「wp_footer」的「action」鉤子。在WordPress的HTML頁腳創建之前,會檢查是否有插件注冊了名為「wp_footer」的「action」鉤子,如果是依次執行她們。
在Plugin API了解更多如何注冊「filter」和「action」類型的鉤子函數,及WordPress提供了那些插件鉤子。如果你發現WordPress沒有提供自己想要的鉤子,你可以建議WordPress加入這個鉤子,很多建議WordPress都會採納。具體方法參考Reporting Bugs。
模版標簽
另一個通過插件加入新功能的方法是建立自定義的模版標簽Template Tags。如果有人想用你的插件,可以在他們的主題中添加這些標簽,邊欄,文章內容段,或者任意的只要是適合這插件的地方。例如,一個給文章添加地理位置的插件可能定義了一個模板標簽函數geotag_list_states()放在邊欄上,這里列表了所有在文章中關聯的州的名稱,並且還帶有插件提供的到這些州的文檔頁的鏈接。
定義一個自定義模板標簽,僅需要寫一個PHP函數,並且在你插件主頁或者插件的主PHP文件中聲明一下。聲明函數的時候,為這個函數提供一個示例來明確如果想要應用這個函數需要加主題中加些什麼文件是個相當棒的主意。
保存插件數據到資料庫
大多數WordPress插件需要站點的所有者或者是博客的用戶輸入信息,然後在對話過程中保存起來,以便過濾器函數(filter)、動作函數(action)或者模板函數(Template)使用。這些信息必須保存在WordPress的資料庫中,以便下次使用。這里有兩種基本的方法用於保存插件的信息到資料庫裡面。
使用WordPress的"option"機制(稍後會有介紹)。這種方法適合於保存一些相對小數量的靜態命名類數據--這類數據通常只需要網站的所有者在首次建立插件的時候輸入,以後很少改動。
文章屬性post meta(a.k.a. Custom Fields),適用於那些只和個人文章、頁面或者附件有關的數據。
參看post_meta Function Examples, add_post_meta(), 以及與文章相關函數屬性post.fuction meta (a.k.a. Custom Fields).
自定義分類法。對於文章分類或者其他對象,比如用戶、評論,或者用戶可編輯列表中的數據名稱/值,可以考慮使用自定義分類法,尤其是當你要訪問的所有的文章/對象與給定的分類法項目相關聯的時候。查閱 Custom Taxonomies
在資料庫中創建一個新的自定義數據表。這種方法適合於與個人文章、頁面、附件或者評論相關的數據,這類數據會隨著時間越來越多,它們也沒有專有名稱。參看Creating Tables with Plugins來了解更多這類信息處理方法。
❷ 如何隱藏WordPress網站的文章和頁面
如果不想通過代碼實現隱藏可選文章和頁面的標題,可以安裝並激活
WordPress
Hide
Title
plugin插件
,在相應頁面或文章的編輯窗口中,點擊WordPress管理下的文章和頁面菜單下需要編輯的項目即可。在編輯窗口下,有一個隱藏標題的自定義區塊:
你要做的就是選中這個復選框並單擊更新或發布按鈕,插件將隱藏單次PV上的標題。這意味著,主頁或其他分類頁面上仍然會顯示,只是單次PV上不再顯示了。
如果你希望創建一個簡單的、不顯示文章標題的登錄頁面,這種方法確實非常方便。
隱藏所有的WordPress文章和頁面標題
如果你想隱藏單一頁面上所有的文章和頁面標題,可以通過修改主題來實現。
最簡單的方法就是在WordPress的
functions.php
文件中加一段下面的代碼:
這個過濾器只是在顯示單一文章或頁面時的
post_class()function
中增加了一個類
.hidetitle
。但是,這個過濾器只有在WordPress主題支持post
class的情況下有效。如果你希望只對文章有效,就刪除代碼中的
||
is_page()。
添加這個function之後,還需要在主題樣式表中添加這個CSS規則。
在上面的CSS中,我們使用了顯示CSS屬性來隱藏文章和頁面標題。但是,這個CSS規則僅適用於WordPress主題使用的文章和頁面標題是條目標題(
entry-title
)。在谷歌Chrome瀏覽器中打開文章,將滑鼠移到文章標題上,右鍵單擊並選擇審查元素,你會看到頁面的源代碼中文章標題的代碼,其中就有你WordPress主題所使用的CSS類。
如果主題使用
article-title
作為文章標題的CSS類,只需要如下簡單更改CSS:
以上方法適用於大部分WordPress主題。但是這些方法只是隱藏標題並不能阻止載入這些標題。如果你想移除WordPress主題模板上的文章和頁面標題,就需要刪除主題文件中的the_title代碼了。
如果你只是希望在單一PV上實現,那隻需要在single.php文件中修改。
❸ 如何隱藏WordPress 文章和頁面標題
如果不想通過代碼實現隱藏可選文章和頁面的標題,可以安裝並激活 WordPress Hide Title plugin插件 ,在相應頁面或文章的編輯窗口中,點擊WordPress管理下的文章和頁面菜單下需要編輯的項目即可。在編輯窗口下,有一個隱藏標題的自定義區塊: 你要做的就是選中這個復選框並單擊更新或發布按鈕,插件將隱藏單次PV上的標題。這意味著,主頁或其他分類頁面上仍然會顯示,只是單次PV上不再顯示了。 如果你希望創建一個簡單的、不顯示文章標題的登錄頁面,這種方法確實非常方便。 隱藏所有的WordPress文章和頁面標題 如果你想隱藏單一頁面上所有的文章和頁面標題,可以通過修改主題來實現。 最簡單的方法就是在WordPress的 functions.php 文件中加一段下面的代碼: 這個過濾器只是在顯示單一文章或頁面時的 post_class()function 中增加了一個類 .hidetitle 。但是,這個過濾器只有在WordPress主題支持post class的情況下有效。如果你希望只對文章有效,就刪除代碼中的 || is_page()。 添加這個function之後,還需要在主題樣式表中添加這個CSS規則。 在上面的CSS中,我們使用了顯示CSS屬性來隱藏文章和頁面標題。但是,這個CSS規則僅適用於WordPress主題使用的文章和頁面標題是條目標題( entry-title )。在谷歌Chrome瀏覽器中打開文章,將滑鼠移到文章標題上,右鍵單擊並選擇審查元素,你會看到頁面的源代碼中文章標題的代碼,其中就有你WordPress主題所使用的CSS類。 如果主題使用 article-title 作為文章標題的CSS類,只需要如下簡單更改CSS: 以上方法適用於大部分WordPress主題。但是這些方法只是隱藏標題並不能阻止載入這些標題。如果你想移除WordPress主題模板上的文章和頁面標題,就需要刪除主題文件中的the_title代碼了。 如果你只是希望在單一PV上實現,那隻需要在single.php文件中修改。
❹ WordPress中文漢字用戶名不能注冊怎麼辦 有沒拌飯用過濾器
用戶名只能用英文的,但是不影響啊,注冊之後可以改昵稱的,然後設置公開顯示為昵稱
❺ mmy data上傳到wordpress哪個目錄
TAG:WordPress
Dropbox 在國內已被牆,第一次注冊和安裝Dropbox客戶端時需要翻(—敏感詞過濾分割線—)牆,下載客戶端之後不使用代理也可以正常接收同步備份文件
使用wordpress備份插件不僅可以備份wordpress資料庫,還可以備份圖片、主題模板等文件。同時wordpress備份插件可以定時將數據作為附件自動備份到自己的email郵箱,或者進入後台直接手工下載到本地電腦。但是如何自動將wordpress資料庫文件自定備份到本地電腦呢?畢竟下載到本地電腦會讓人比較放心。直接使用可以發送wp博客資料庫備份到你的Dropbox帳戶的Wordpress插件,或者wp插件再結合使用Dropbox即可實現這種功能,最後通過Dropbox自動同步備份文件到你的本地電腦。
WordPress備份插件
首先介紹幾款相關的Wordpress備份插件:
wp-db-backup 備份插件:wp-db-backup備份插件是wordpress官方網站上最熱門的資料庫備份插件,使用起來也非常簡單,下載安裝該插件並啟用後跳轉到Dashboard-》Tool-》Backup設置資料庫表的備份選項即可,可選:
1、備份文件到伺服器
2、下載到本地電腦
3、Email備份到郵箱
還可以選擇自動定時備份到你指定的email郵箱,設置每小時、每天、每兩天、每周定時備份博客資料庫均可。wp-db-backup會在wp-content目錄下新建一個以backup開頭的隨機名稱作為備份文件保存的目錄,隨機數字名稱在一定程度上使備份文件更加安全。
另外一個類似的wordpress博客備份插件是wp-dbmanager,wp-dbmanager備份插件也是一個相當熱門的wordpress插件,不僅可以自動定時備份,還可以直接在wordpress後台導入資料庫備份文件、資料庫修復、優化、恢復、刪除、清空等資料庫操作。
不過上面兩個wordpress備份插件定時備份只能發送資料庫備份文件到email郵箱,不能直接發送到你的dropbox賬戶。所以這里再介紹一個插件wp-time-machine,wp-time-machine備份插件其實也是一個非常不錯的插件,安裝並啟用該插件後,不僅可以備份資料庫文件、還可以備份uploads目錄上傳的圖片等所有wp-content中的文件(如wordpress主題)、.htaccess文件、資料庫恢復說明。最關鍵的是它可以將這些備份文件發送到你的遠程賬戶,包括Dropbox、Amazon』s AWS S3、遠程FTP伺服器。但是wp-time-machine有一個致命的缺點是,只要你的wordpress博客啟用了這個插件,任何訪客訪問這個地址:
http://yourdomain.com/path/to/wordpress/wp-content/plugins/wp-time-machine/cron.php?generate=1
都會在wp-content目錄下生成那些備份文件,而且默認的備份文件名稱都是一樣的,比如wpTimeMachine-data-files.sql,因此任何人都可以通過瀏覽器在這個地址http://domain.com/path/to/wordpress/wp-content/wpTimeMachine-data-files.sql下載到你的資料庫備份文件。wp-time-machine備份插件作者提示將上面生成網址中的generate=1改為clear=1,使用curl url自動定時執行備份計劃任務時,就不會在wp-content目錄下生成備份文件。許多介紹該插件使用方法的中文文章也只提示在wordpress後台點擊了該插件的備份操作之後,要記得刪除這些備份文件,但是卻都沒有提示這個地址會被任何人訪問到。因此為了你的wordpress博客安全,強烈建議不要使用該插件,也許哪一天插件作者更新了這個安全漏洞之後,可以考慮啟用這個插件。
如何將wordpress備份文件發送到dropbox
既然wp-time-machine不能用,那麼如何將wordpress博客備份文件發送到dropbox呢?當然還是有辦法的,比如利用wp-db-backup備份插件,我們只要將插件自動定時發送到郵箱的email附件上傳到dropbox 帳戶就可以了。Send to Dropbox 程序就是一款這樣的非常好的dropbox app應用程序。
登陸Dropbox帳戶後訪問http://sendtodropbox.com/connect,允許send to dropbox訪問dropbox帳戶,通過後在dropbox帳戶my app中會多出一個send to dropbox。同時sendtodropbox.com會給你提供一個***@sendtodropbox.com的email郵箱地址。這個app通過這個唯一的email ID 發送附件。
The app 『Send To Dropbox』 would like to connect with your Dropbox.
• Please make sure you trust this app before proceeding.
• You can always remove this app by visiting the Apps page.
• You『re currently logged in as ****@gmail.com. If you meant to connect 。
TAG:WordPress
如果自動接收wordpress資料庫備份文件的是Gmail郵箱,在Gmail郵箱中就可以在過濾器中將所有帶有附件的郵件轉發到以上這個地址。Gmail自動轉發需要驗證因此還要進行一些操作dropbox才能順利收到作為email附件的備份插件。下面是幾個操作步驟:
1. 創建Gmail過濾器:進入接收資料庫備份文件的Google gmail郵箱,創建一個接收郵件過濾器filter:點擊右上方的settings-》-filters》create filters-》輸入過濾條件:
2.添加轉發地址:
3.驗證轉發地址,將最開始sendtodropbox.com給的email地址加入驗證。
4.點擊下一步,一般幾分鍾之內,你的Dropbox帳戶就會收到一個包含gmail發送的轉發email地址驗證碼的txt文件了。需要注意的是在點擊下一步,
必須在send to dropbox設置中勾選include html 或include text 選項,否則是收不到驗證碼txt文檔的。
另外一個需要注意的是在gmail常規設置鎮南關,需要Gmail界面語言改為English,否則收到的只是亂碼字元的txt文件(以上中文界面圖片只作參考)。
5. 在Gmail中輸入txt文檔中的驗證碼。
6. 在過濾器中添加轉發email地址。
7. 點擊「create filter」。
WordPress 後台設置轉發到Dropbox
上面的步驟需要通過Gmail作為中介,更簡單的方法是在wordpress管理後台,直接設置wp-db-backup備份插件選項。將定時備份郵箱設置為sendtodropbox給的唯一郵箱地址。
現在所有定時執行生成的wordpress備份文件都會自動發送到你的Dropbox賬戶中了,通過Dropbox自動同步到本地電腦,就啥事都不用做了。Wordpress備份插件(wp-db-backup)+Dropbox+SendtoDropbox(+Gmail)就是絕對的懶人超級組合了。
❻ wordpress博客關於<php wp_head(); >問題求助
去除wordpress頭部不必要的元素標
完整的wordpress頭部清理代碼
<?php
//remove_action(『wp_head』,『wp_enqueue_scripts』,1);
remove_action(『wp_head』,『feed_links』,2);
remove_action(『wp_head』,『feed_links_extra』,3);
remove_action(『wp_head』,『rsd_link』);
remove_action(『wp_head』,『wlwmanifest_link』);
remove_action(『wp_head』,『index_rel_link』);
remove_action(『wp_head』,『parent_post_rel_link』,10,0);
remove_action(『wp_head』,『start_post_rel_link』,10,0);
remove_action(『wp_head』,『adjacent_posts_rel_link_wp_head』,10,0);
//remove_action(『wp_head』,『locale_stylesheet』);
remove_action(『publish_future_post』,『check_and_publish_future_post』,10,1);
//remove_action(『wp_head』,『noindex』,1);
//remove_action(『wp_head』,『wp_print_styles』,8);
//remove_action(『wp_head』,『wp_print_head_scripts』,9);
remove_action(『wp_head』,『wp_generator』);
//remove_action(『wp_head』,『rel_canonical』);
remove_action(『wp_footer』,『wp_print_footer_scripts』);
remove_action(『wp_head』,『wp_shortlink_wp_head』,10,0);
remove_action(『template_redirect』,『wp_shortlink_header』,11,0);
add_action(『widgets_init』,『my_remove_recent_comments_style』);
functionmy_remove_recent_comments_style(){
global$wp_widget_factory;
remove_action(『wp_head』,array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'],『recent_comments_style』));
}
?>
把這段代碼插入到主題的functions.php文件下,就可以清除WordPress頭部很多的冗餘信息。下面說說這些代碼的具體意義是什麼,以免刪除某些你想保留的功能。
wp_head()函數
wp_head()是wordpress的一個非常重要的函數,基本上所有的主題在header.php這個文件里都會使用到這個函數,而且很多插
件為了在header上加點東西也會用到wp_head(),比如SEO的相關插件。不過在wp_head()出現的這個位置,會增加很多並不常用的代
碼,如何刪除呢?可以通過remove_action移除這些代碼。
remove_action函數
函數原型:remove_action( $tag, $function_to_add, $priority, $accepted_args );
該函數移除一個附屬於指定動作hook的函數。該方法可用來移除附屬於特定動作hook的默認函數,並可能用其它函數取而代之。
重要:添加hook時的$function_to_remove 和$priority參數要能夠相匹配,這樣才可以移除hook。該原則也適用於過濾器和動作。移除失敗時不進行警告提示。 文章來自http://www.life134.com
參數 文章來自http://www.life134.com
1.$tag(字元串)(必需)將要被刪除的函數所連接到的動作hook。默認值:None
2.$function_to_remove(回調)(必需) 將要被刪除函數的名稱默認值:None
3.$priority(整數)(可選)函數優先順序(在函數最初連接時定義)默認值:10
4.$accepted_args(整數)(必需)函數所接受參數的數量。默認值:1
返回值
(布爾值)函數是否被移除。
1.Ttue 函數被成功移除
2.False函數未被移除
❼ 如何使用WordPress Shortlink縮短網址
WordPress the_shortlink是3.0之後引入的新功能,提供URL shortening縮短網址服務,雖然功能比較簡單,在使用社交網路或某些回縮短網址服務時可答能會有用,似乎早期版本也有縮短網址插件可供使用,現在WordPress 3.0上可以直接使用默認的縮短網址,其效果也不比某些縮短網址站提供的地址差,只不過一個是真實shortlink一個虛擬映射shortlink而已。
在編輯文章時會出現Get Shortlink按鈕,可以查看到當前文章的短鏈接。WordPress默認在新添加模式下沒有出現,只在編輯模式下才會出現,因為發布之前該記錄還沒有正式保存進資料庫(不算自動保存auto-draft),沒有確定的ID編號,這個編號正是shortlink中的默認參數。
以上Shortlink無法直接手動修改掉,我看源代碼,似乎只有通過過濾函數(或插件)進行處理,具體參見wp-includes\link-template中的wp_get_shortlink函數說明(pre_get_shortlink),如果沒有過濾器,默認就是拼接成?p=id形式。
❽ wordpress怎麼隱藏網站標題和副標題啊
如果不想通過代碼實現隱藏可選文章和頁面的標題,可以安裝並激活
WordPress Hide Title plugin插件
,在相應頁面或文章的編輯窗口中,點擊WordPress管理下的文章和頁面菜單下需要編輯的項目即可。在編輯窗口下,有一個隱藏標題的自定義區塊:
你要做的就是選中這個復選框並單擊更新或發布按鈕,插件將隱藏單次PV上的標題。這意味著,主頁或其他分類頁面上仍然會顯示,只是單次PV上不再顯示了。
如果你希望創建一個簡單的、不顯示文章標題的登錄頁面,這種方法確實非常方便。
隱藏所有的WordPress文章和頁面標題
如果你想隱藏單一頁面上所有的文章和頁面標題,可以通過修改主題來實現。
最簡單的方法就是在WordPress的
functions.php
文件中加一段下面的代碼:
這個過濾器只是在顯示單一文章或頁面時的
post_class()function
中增加了一個類
.hidetitle
。但是,這個過濾器只有在WordPress主題支持post class的情況下有效。如果你希望只對文章有效,就刪除代碼中的
|| is_page()。
添加這個function之後,還需要在主題樣式表中添加這個CSS規則。
在上面的CSS中,我們使用了顯示CSS屬性來隱藏文章和頁面標題。但是,這個CSS規則僅適用於WordPress主題使用的文章和頁面標題是條目標題(
entry-title
)。在谷歌Chrome瀏覽器中打開文章,將滑鼠移到文章標題上,右鍵單擊並選擇審查元素,你會看到頁面的源代碼中文章標題的代碼,其中就有你WordPress主題所使用的CSS類。
如果主題使用
article-title
作為文章標題的CSS類,只需要如下簡單更改CSS:
以上方法適用於大部分WordPress主題。但是這些方法只是隱藏標題並不能阻止載入這些標題。如果你想移除WordPress主題模板上的文章和頁面標題,就需要刪除主題文件中的the_title代碼了。
如果你只是希望在單一PV上實現,那隻需要在single.php文件中修改。