WordPress 自動升級失敗 – 請再嘗試更新一次,手動更新

進入WordPress的世界,一定常常聽到,幾版幾版釋出趕快更新,盡量讓 WordPress 維持在一個最新狀態,因為開源軟體,程式碼通通攤在陽光下,非常多人都同時在找漏洞與錯誤,避免這些漏洞被有心人利用,所以一定要更新!!! 而我們要感謝 辛苦維護的團隊,通常回報漏洞後釋出的 WordPress 會得到修復,另外為順應網路發展及時代潮流,WP也會不定期的會更新新的功能,真要感謝這些默默付出的人, 讓這個生態能永續發展。

WordPress 這個 CMS 很貼心的提供更新的程序,原則上一鍵就可以更新,但因為網路環境,Timeout 時間、記憶體等種種因素,可能在未跑完這些程序時中斷更[……]

Read more

WordPrdss single page template by category

WordPress 主題的命名規則,沒有針對指定分類文章內容頁的命名規則

但實務上很常見,可能需依據文章分類,提供不同主題,例如:親子話題、旅行玩樂、時尚精品,每個分類都希望有不同的視覺效果或功能,目前 WordPress 主題的命名規則只提供分類聚集頁主題明明規則,但沒有分類下文章內容頁

所以我們需透過 WordPress API 代碼的方式來判斷當前文章,讓分類下的文章都套用指定模板。

文章類別 (category)

把下方代碼,置於主題目錄中的 function.php 中

your-category 為欲自訂分類模板的分類名稱。
single-your-cat[……]

Read more

WordPress custom single page template

方法一、模板檔名規則

WordPress 提供利用檔名命名的方式設定 post type 內容頁的自訂模板:

single-{post-type}.php
archive-{post-type}.php
search.php
index.php

上方的檔名順序,代表WordPress查找模板的順序,大括號中代表自定義文章類型( custom post type ) 的slug,如果自定義文章類型的slug為 news,自定義文章類型內容頁主題依序為:

single-news.php
archive-news.php
search.php
index.php

若 single[……]

Read more

WordPress 連結由「絕對路徑」改為「相對路徑

WordPress 原生絕對路徑轉相對路徑的方法 wp_make_link_relative 在 /wp-includes/formatting.php

過濾連結

連結相關的過濾器 (filter),透過 wp_make_link_relative 把絕對路徑改為相對路徑

Example:

add_filter( 'the_permalink', 'wp_make_link_relative' );

過濾所有連結

一次轉完所有連結相關的過濾器 (filter) ,但排除 WordPress sitemap 中的連結,WordPress sitemap 仍維持絕對路[……]

Read more

WordPress Contact Form 7 簡碼中插入javascript

利用 do_shortcode_tag 這個 Filter 驗證執行的簡碼是不是 contact-form-7

再驗證簡碼參數id , 是否為目標 contact-form-7 的 id

Example:

add_filter('wp_enqueue_scripts', 'register_my_script');
function register_my_script(){
    wp_register_script( 'my-cf7-script', get_stylesheet_directory_uri() . '/assets/js/cf7.js', array([......]

Read more

WordPress 文章網址包含分類及子分類

以 hello-world 文章為例,這是一般文章內容頁網址結構:

https://example.com/hello-world

把這篇文章加在某一分類,假設文章加入 news 分類裡,並希望文章內容頁網址結構如下:

https://example.com/news/hello-world

設定固定網址

以管理員身分登入WordPress後台

左側選單,設定 > 固定網址

就醬~~[……]

Read more

WordPress 刪除 contact form 7 CF7 後台選單,除了網站管理員

除了網站管理員,刪除 contact form 7 CF7 後台選單

/**
* 刪除CF7選單
* https://v123.tw
*/
function v123_remove_menu_CF7() {
	if (!(current_user_can('administrator'))) {
		remove_menu_page( 'wpcf7' );
	};
}
add_action('admin_menu', 'v123_remove_menu_CF7');

 [……]

Read more

WordPress 修改摘要擷取字數

WordPress 在設定中可以設定顯示摘要的篇數,但沒有原生的設定可以設定列表文章摘要擷取字數,我們可透過 excerpt_length  這個 Hook 去修改需要顯示的字數。

可以參考下面這一段,將這段代碼加在主題的 functions.php 這個檔案最下方即可。

/**
* 自訂摘要擷取字數
* https://v123.tw
*/
function v123_custom_excerpt_length( $length ) {
    return 100;
}
add_filter( 'excerpt_length', 'v123_custom_excerp[......]

Read more

WordPress 修改列表文章摘要擷取字數

WordPress 在設定中可以設定顯示摘要的篇數,但沒有原生的設定可以設定列表文章摘要擷取字數,我們可透過 excerpt_length  這個 Hook 去修改需要顯示的字數。

可以參考下面這一段,將這段代碼加在主題的 functions.php 這個檔案最下方即可。

/**
* 自訂摘要擷取字數
* https://v123.tw
*/
function v123_custom_excerpt_length( $length ) {
    return 100;
}
add_filter( 'excerpt_length', 'v123_custom_excerp[......]

Read more