㈠ 如何過濾 WordPress 搜索結果頁面
默認情況下, WordPress的搜索功能,會在搜索結果頁面上顯示發布的文章,以及發布的單頁面。通常當使用者在博客上尋找東西,結果有可能是一個頁面,而不是日誌文章。在這篇文章中, 首先請打開當前主題目錄下的 functions.php 文件,並添加以下代碼: function search_filter($query) { if ($query-is_search) {
㈡ 如何開發一個WordPress插件
在開始之前,需要注意三件事情
I、給插件取一個個性化的名字,越個性化越好,以防和其他插件重名沖突。
II、代碼裡面,一定要包含注釋,不為自己,也要為想修改你代碼的別人想想。
III、盡量用最新版的 WordPress 進行開發和測試。
插件名稱和插件結構
一般來說,都是在 wp-content\plugins 目錄下建立一個文件夾,文件夾名就是插件的名稱,我們插件名字為"right_plugin",文件結構如下。
\wp-content\plugins\right_plugin下有right_plugin.php和readme.txt
這里的 readme.txt 文件中包含了一些插件的介紹,使用說明等信息,主要是提交到 WordPress 官方網站時候用到的,可以參考他們給的模板 http://wordpress.org/extend/plugins/about/readme.txt,另外還有插件截圖預覽的功能,需要另外添加圖片,但是我們現在是練習,不需要提交到官網,所以暫時先不涉及這些。
插件的核心
總的來說,插件的核心是兩個 function,用來添加 Hooks(中文譯為鉤子)
add_action ($hookname, $callbackfunction)
add_filter ($hookname,$callbackfunction)
這兩個方法相當重要,幾乎所有的插件都要用到他們。
Actions,我理解就是 wordpress 核心代碼預留的一些特殊的切入點,或者說是在執行一些特定事件時候發生,例如文章發布時,或者訪客留言時觸發。
Filters,應該就是 wordpress 執行時,對數據傳輸過程的一種過濾機制,例如當文章保存到資料庫的過程,或者文章從事資料庫中取出,展現到瀏覽器中的這個過程。
我們今天要製作的插件,應該是用 Filters,因為我們要在文章顯示在瀏覽器之前,在最後面加上一段字元竄,用來顯示版權信息,後面添加菜單項的時候,也要用到 Actions。
插件概要信息
用文本編輯器打開 right-plugin.php 文件,輸入如下信息:
<?php
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件將在文章正文最下面,顯示一行版權信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
?>
保存好文件,然後登錄 WordPress 後台,打開插件菜單,應該就可以看到這個插件,已經顯示在插件列表裡面了,並且可以啟用這個插件試試,不過沒有任何效果,因為到目前為止,這個插件還沒有實現任何功能。
為插件實現功能
修改right_plugin.php
<?php
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件將在文章正文最下面,顯示一行版權信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
/* 此插件將在文章正文最下面,顯示一行版權信息 */
function display_right() {
return "<p style='color:red'>本站點所有文章均為原創,轉載請註明出處!</p>";
}
?>
保存好這個文件,然後打開正在用的主題文件夾,打開index.php 文件夾,找到 get_template_part( 'content', get_post_format() ); 並在下面添加如下代碼
if(function_exists('display_right')) {
echo display_right();
}
function_exists 是判斷 display_right 函數是否存在,因為當插件停用的時候,主題代碼裡面是找不到這個函數的,所以要判斷一下,防止出錯。
然後在 wordpress 後台啟用該插件,再打開首頁看看效果吧!
至此,這段代碼,應該可以勉強算是一個插件了。之所以說勉強,是因為這個插件存在一個問題,需要手工去修改主題代碼,如果用戶換了主題的話,需要在新主題裡面再次修改代碼,這個不好。
改良插件
還記得我們前面說過的 Hooks (鉤子)嗎,我們要開始用 Filter 鉤子了!
代碼修改right_plugin.php如下:
<?php
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件將在文章正文最下面,顯示一行版權信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
add_filter( 'the_content', 'display_right' );
/* 這個函數在日誌正文結尾處添加一段版權信息,並且只在 首頁 頁面才添加 */
function display_right( $content ) {
if( is_home() )
$content = $content . "<p style='color:red'>本站點所有文章均為原創,轉載請指明出處!</p>";
return $content;
}
?>
參看以上代碼,其中 the_content 是鉤子的名字,display_right 是回調函數名稱。這樣一來,只要啟用插件就可以實現功能,無需去修改主題了,請把剛才在index.php 文件中添加的代碼刪掉,然後啟用插件,看看效果吧,顯示效果應該是一樣的,無論怎麼換主題,還是會自動顯示版權信息。
is_home是判斷是不是主頁
更進一步
至此一個真正的插件算是完成了。但是此插件將版權信息直接寫在代碼里,如果用戶想自定義版權信息的話,需要修改插件的源代碼,仍然不方便,所以此插件仍需改進。其實,我們可以在 WordPress 後台中為插件單獨添加一個菜單和頁面,用戶可以在這里來自定義設置設置版權信息,信息可以保存在資料庫裡面。
先附上完整代碼,後面會做說明
<?php
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件將在文章正文最下面,顯示一行版權信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
/* 注冊激活插件時要調用的函數 */
register_activation_hook( __FILE__, 'display_right_install');
/* 注冊停用插件時要調用的函數 */
register_deactivation_hook( __FILE__, 'display_right_remove' );
function display_right_install() {
/* 在資料庫的 wp_options 表中添加一條記錄,第二個參數為默認值 */
add_option("display_right_text", "<p style='color:red'>本站點所有文章均為原創,轉載請註明出處!</p>", '', 'yes');
}
function display_right_remove() {
/* 刪除 wp_options 表中的對應記錄 */
delete_option('display_right_text');
}
if( is_admin() ) {
/* 利用 admin_menu 鉤子,添加菜單 */
add_action('admin_menu', 'display_right_menu');
}
function display_right_menu() {
/* add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function); */
/* 頁名稱,菜單名稱,訪問級別,菜單別名,點擊該菜單時的回調函數(用以顯示設置頁面) */
add_options_page('Set Copyright', 'Copyright Menu', 'administrator','display_right', 'display_right_html_page');
}
function display_right_html_page() {
?>
<div>
<h2>Set Copyright</h2>
<form method="post" action="options.php">
<?php /* 下面這行代碼用來保存表單中內容到資料庫 */ ?>
<?php wp_nonce_field('update-options'); ?>
<p>
<textarea
name="display_right_text"
id="display_right_text"
cols="40"
rows="6"><?php echo get_option('display_right_text'); ?></textarea>
</p>
<p>
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="display_right_text" />
<input type="submit" value="Save" class="button-primary" />
</p>
</form>
</div>
<?php
}
add_filter( 'the_content', 'display_right' );
/* 這個函數在日誌正文結尾處添加一段版權信息,並且只在 首頁 頁面才添加 */
function display_right( $content ) {
if( is_home() )
$content = $content . get_option('display_right_text');
return $content;
}
?>
說明:
以下代碼自己要是在啟用插件時和停用插件時調用,注釋中已經寫得很詳細了。
/* 注冊激活插件時要調用的函數 */
register_activation_hook( __FILE__, 'display_right_install');
/* 注冊停用插件時要調用的函數 */
register_deactivation_hook( __FILE__, 'display_right_remove' );
function display_right_install() {
/* 在資料庫的 wp_options 表中添加一條記錄,第二個參數為默認值 */
add_option("display_right_text", "<p style='color:red'>本站點所有文章均為原創,轉載請註明出處!</p>", '', 'yes');
}
function display_right_remove() {
/* 刪除 wp_options 表中的對應記錄 */
delete_option('display_right_text');
}
添加菜單和頁面的代碼如下:
if( is_admin() ) {
/* 利用 admin_menu 鉤子,添加菜單 */
add_action('admin_menu', 'display_right_menu');
}
function display_right_menu() {
/* add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function); */
/* 頁名稱,菜單名稱,訪問級別,菜單別名,點擊該菜單時的回調函數(用以顯示設置頁面) */
add_options_page('Set Copyright', 'Copyright Menu', 'administrator','display_right', 'display_right_html_page');
}
至此,已經可以在後台看到菜單項了,但是點擊的話,還會出錯,因為還沒有添加對應的頁面(如何自定義添加後台菜單位置)
下面開始添加頁面,主要代碼如下:
function display_right_html_page() {
?>
<div>
<h2>Set Copyright</h2>
<form method="post" action="options.php">
<?php /* 下面這行代碼用來保存表單中內容到資料庫 */ ?>
<?php wp_nonce_field('update-options'); ?>
<p>
<textarea
name="display_right_text"
id="display_right_text"
cols="40"
rows="6"><?php echo get_option('display_right_text'); ?></textarea>
</p>
<p>
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="display_right_text" />
<input type="submit" value="Save" class="button-primary" />
</p>
</form>
</div>
<?php
}
現在再去點擊剛才新加的菜單,可以顯示出來一個頁面了,我們可以在這里設置版權信息文本。
另外還有如下代碼要修改
/* 這個函數在日誌正文結尾處添加一段版權信息,並且只在 首頁 頁面才添加 */
function display_right( $content ) {
if( is_home() )
$content = $content . get_option('display_right_text');
return $content;
}
將原來的靜態化文本,改成動態的,之所以要這么改,是因為我們已經將數據存到資料庫裡面了,這里要從資料庫裡面取出數據。
㈢ wordpress怎樣去掉文章頁顯示的特色圖片
wordpress去掉文章頁顯示的特色圖片步驟:
打開wordpress後台—>外觀—>編輯。
然後找到single.php,就是文章內容頁面的模板。
然後找到代碼:the_post_thumbnail('thumbnail')
最後一步,刪除就可以了。
注意:別忘了保存一下哦!
㈣ WordPress怎麼去掉文章中的特色圖片
在後台—>外觀—>編輯,然後找到single.php,就是文章內容頁面的模板。 然後找到代碼:
the_post_thumbnail('thumbnail')然後刪除就可以了。
㈤ 如何刪除wordpress多餘的圖片
默認情況下,WordPress 會將你上傳的圖片自動生成幾種不同大小的縮略圖,但是有些WordPress主題根本就不會調用這些縮略圖,它們就成了多餘的啦。那麼,如何才能快速刪除這些已經生成的縮略圖呢?倡萌建議試試 DNUI (Delete not used image)插件。
DNUI Delete not used image 介紹及使用方法
Delete not used image (簡稱 DNUI )是一個快速查找沒有使用的圖片的插件,支持批量刪除沒用的縮略圖。
在後按插件安裝界面搜索 DNUI 即可在線安裝,或者在此下載 DNUI Delete not used image,啟用插件後,訪問後台 - 設置 – DNUI ,然後輸入查詢的數量(建議大於你圖片的總數量),然後點擊掃描,就可以看到結果:
點擊底部的「Select All」按鈕,就會選中所有沒用的縮略圖(不會選中原圖的),然後點擊「Delete」刪除即可。
㈥ wordpress如何只顯示文章的內容而不顯示文章下的圖片
1. 建議使用get_post方法,通過get_post方法可以獲取到固定文章的相關信息;
2.如果想在首頁中顯示固定的文章,可以先查詢出該文章的ID,該ID可以通過進入wordpess後台,點擊編輯,然後查看鏈接可以得到,然後將該ID傳入get_post方法,直接在首頁顯示echo get_post($id)->post_content;就可以了。
㈦ 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 文章中插入圖片怎樣自動去除img的width、height、class屬性
直接上代碼:
//removeinsertimagesattribute
//add_filter('the_content','fanly_remove_images_attribute',99);
add_filter('post_thumbnail_html','fanly_remove_images_attribute',10);
add_filter('image_send_to_editor','fanly_remove_images_attribute',10);
functionfanly_remove_images_attribute($html){
//$html=preg_replace('/(width|height)="d*"s/',"",$html);
$html=preg_replace('/width="(d*)"s+height="(d*)"s+class="[^"]*"/',"",$html);
$html=preg_replace('//',"",$html);
return$html;
}
在當前主題的functions.php中添加以上代碼即可。
代碼參考資料:https://zhangzifan.com/wordpress-remove-class-width-height.html (版權歸原作者所有)
㈨ wordpress 動作和過濾器問題!在線等高手!
這個問題!
㈩ wordpress 文章形式中的相冊形式 如何過濾圖片
你可以試試用strip_tags這個PHP函數,比如:
echostrip_tags($post->post_content);