wordpress 文章的釋出和修改時定製文章標題
我想在發表文章的時候對文章的標題統一加上分組的資訊,比如:[foo] bar title
更新2(2018-09-03):
wp_posts表有幾個型別(post_type)的資料:post、page、attachment、revision、nav_menu_item。我們是post型別。
post型別有幾個狀態(post_status):publish、future、draft、pending、private、trash、auto-draft、inherit。我們是在釋出post的時候,也就是post狀態是publish的時候才進行修改。
我還多做了一個處理,如果標題已經加過“[分類名]”,那就不再加了,因為wp好多情況都是publish,比如你編輯post更新後,也屬於publish,所以得做個判斷。
add_action("save_post","add_category_to_article_title",1,1);
function add_category_to_article_title($post_id){
$post = get_post($post_id);
$title = get_the_title($post_id);
$status = get_post_status($post_id);
$type = get_post_type($post_id);
if ("post" == $type && "publish" == $status && false === strpos($title,"[")){
$cats = get_the_category();
$content = array(
'ID' => $post_id,
'post_title' => '[ '.$cats[0]->cat_name.' ] ' . $title,
);
remove_action('save_post', 'add_category_to_article_title',1,1);
wp_update_post($content);
add_action('save_post', 'add_category_to_article_title',1,1);
}
}
更新1,不過還是有個小問題,如果是更新文章的話還是會有小影響:
add_action("save_post","add_category_to_article_title",1,1);
function add_category_to_article_title($post_id){
$post = get_post($post_id);
$title = get_the_title($post_id);
$status = get_post_status($post_id);
$type = get_post_type($post_id);
if (!($type == "revision" && $status == "inherit") && !($type == "post" && ($status == "draft" || $status == "auto-draft"))){
$cats = get_the_category();
$content = array(
'ID' => $post_id,
'post_title' => '[ '.$cats[0]->cat_name.' ] ' . $title,
);
remove_action('save_post', 'add_category_to_article_title',1,1);
wp_update_post($content);
add_action('save_post', 'add_category_to_article_title',1,1);
}
}
把這段程式碼載入主題的functions.php裡:
下面這段下次太大,可以不參考。
// 當新建文章或儲存的時候,會在標題前面把分類名稱以[名稱]的形式加上
add_filter( 'wp_insert_post_data' , 'modify_post_title' , '99', 1 );
function modify_post_title( $data )
{
$cats = get_the_category();
$data['post_title'] = '[ '.$cats[0]->cat_name.' ] ' . $data['post_title'] ;
return $data;
}
可以搜一下wp_insert_post_data這個鉤子。
相關文章
- WordPress自動採集釋出文章04-如何批量定時釋出文章
- WordPress文章如何隱藏不顯示作者和釋出時間
- WordPress入門06-WordPress釋出新文章和管理文章
- WordPress自動採集釋出文章03-如何批量把文章上傳到wordpress
- 非技術探討:文章定時釋出功能如何實現
- WordpressCMS主題開發06-分類頁面的文章呼叫和sidebar製作IDE
- 文章目錄(未釋出)
- 釋出的文章,怎麼生成HTML?HTML
- WordpressCMS主題開發08-CMS文章內容頁面的製作
- wordpress教程:給部落格最新文章新增new標記
- WordPress入門05-WordPress建立和管理文章分類目錄
- 我的文章會在掘金上釋出
- PbootCMS模版製作:當天釋出的文章顯示紅色的方法boot
- jQuery 效果函式無標題文章jQuery函式
- 測試釋出一篇正常的文章
- WordPress自動採集釋出文章01-使用火車頭採集目標網站網站
- CSDN文章釋出了顯示問題
- 自動為新文章新增標籤WordPress外掛(可控制標籤數量)
- OTN 釋出的技術文章的連結地址
- asp.net 關於列表問題。點選文章標題,顯示文章內容。ASP.NET
- js文章是多長時間之前釋出程式碼例項JS
- 帝國cms文章釋出時間批次更新_方法_教程_步驟
- 釋出文章bug
- 前臺怎麼釋出文章?編輯文章?
- 如何給WordPress頁面(Page)和文章(Post)設定訪問密碼密碼
- UED Landing 頁 - 定時抓取掘金文章
- 文章標題檢測工具有哪些?這些技巧可以提高你的文章透過率
- ? 「掘金官方」關注的人釋出的文章上線啦!
- 在Laravel釋出的第一篇文章Laravel
- WordPress自動採集釋出文章02-軟體批量偽原創
- 一文說透WordPress的自定義文章型別型別
- WordpressCMS主題開發09-製作內容頁面sidebar和文章瀏覽量功能IDE
- 6 播客模式下文章標題與“文件”重合模式
- onethink 前端釋出文章前端
- 解決WordPress文章上傳圖片使用中文名不顯示的問題
- ThinkCMF製作文章列表 <portal:articles 標籤報錯 Undefined variable $voUndefined
- Android介面-標題和按鈕定製-drawableAndroid
- python爬取知乎專欄文章標題及URLPython