过期域名预定抢注

 找回密碼
 免费注册

wordpress批量更新category的方法

  [複製鏈接]
發表於 2013-7-9 10:58:26 | 顯示全部樓層 |閱讀模式
wordpress在線寫英文有些慢,我是在本地寫了一個簡單的錄入系統.寫好後批量導入進去.這牽涉到一些category或者tag的導入.為了批量導入.寫了一個存儲過程.然後批量調用存儲過程,可以把category導入進去.分享一下.% C" y$ L" z) s  ^: W

" g) i8 \2 p% W) j- s. k+ S/ J% ~, \- D1 }4 T' m% D
CREATE  PROCEDURE `p_add_article_category`(in v_term VARCHAR(300),in v_title varchar(2000))1 `: N3 W3 q, P
BEGIN: j1 B1 H: w" D
set @wp_post_id=IFNULL((select id from wp_posts where post_title=v_title limit 0,1),0);3 p# k2 K) a4 w9 U* R7 ]7 n; B
if (@wp_post_id>0) then( M8 V2 W" S4 o' L# Y" s
   set @term_id=IFNULL((select term_id from wp_terms where name=v_term limit 0,1),0);' j: w* N" Z3 v9 s1 n+ I! _! o
   if (@term_id=0) then- U) T* R3 r+ f9 r
       insert into wp_terms(name,slug, term_group) values(v_term,v_term,0);
; e- x" k6 o; O       set @term_id=(select term_id from wp_terms where name=v_term limit 0,1);) U' `9 L. O7 K$ M
   end if;& a6 e2 a7 O6 L4 ]( l) P
   set @term_taxonomy_id=IFNULL((select term_taxonomy_id from wp_term_taxonomy where taxonomy='category' and term_id=@term_id limit 0,1),0);0 w1 g4 J7 E/ m3 n* U- t
   if (@term_taxonomy_id =0) then7 _) y& y! a) o. B
           insert into wp_term_taxonomy(term_id,taxonomy,description,parent,count) values(@term_id,'category','',0,0);
9 Z3 V, Z% w0 X           set @term_taxonomy_id=(select term_taxonomy_id from wp_term_taxonomy where taxonomy='category' and term_id=@term_id limit 0,1);$ z8 t* P- g# f9 L& P% ]6 j& `# K: L
   end if;6 c8 _4 v8 k* `* ~
7 |& z9 V, n7 z+ w3 o. p" y
   if(not EXISTS(select 1 from wp_term_relationships where object_id=@wp_post_id and term_taxonomy_id=@term_taxonomy_id)) then, S/ R5 b2 e: J
           insert into wp_term_relationships(object_id,term_taxonomy_id,term_order) values(@wp_post_id,@term_taxonomy_id,0);3 B1 O% t& L' \+ L' R& I
           update wp_term_taxonomy set count=count+1 where taxonomy='category' and term_id=@term_id;4 a4 C$ m% r- k/ {9 z8 {
   end if;
  _: M- S1 D1 j; Dend if;
6 @. J3 M5 @' X2 {! zEND; o5 k0 Q2 M" w6 }% Y" \
  I9 D8 e9 R1 A
調用方法:' G4 e6 F- o5 E

; `; V. y4 X( c, g: Kcall  p_add_article_category('scenery','this is the title about scenery');: \3 W8 |, c# F9 y$ r

# a& S, O! A9 v5 F  u9 E
8 E4 @" H* b6 N: T9 B; D

評分

參與人數 2點點 +4 收起 理由
月光飞燕 + 3
sophieqd + 1

查看全部評分

發表於 2013-7-9 11:19:57 | 顯示全部樓層
火車必用,謝謝分享。好東西
5 C! e( @9 e4 C8 H5 W
回復 给力 爆菊

使用道具 舉報

發表於 2013-7-9 21:11:13 | 顯示全部樓層
好東西,謝謝分享!愛瘋!% U. f! o# n( I( \. W$ u
回復 给力 爆菊

使用道具 舉報

發表於 2013-7-10 02:41:54 | 顯示全部樓層
能詳細說下怎麼用嗎?6 U& ~; _2 p+ X! E1 C" N
我是不是建一個php文件,把這個句子寫進去3 T0 z' B/ i2 s7 q; d1 x3 C3 y* W# }
比如3 B) a* q) |$ s( w4 h
call  p_add_article_category('scenery','this is the title about scenery');+ b- X  a1 e1 D+ N- b; ~
call  p_add_article_category('scenery','this is the title about scenery 2');* V$ z! Q4 ?+ X4 g4 Q
call  p_add_article_category('scenery','this is the title about scenery 3');
* {' I6 i5 g% W; R+ l7 a這樣是添加3個文章到目錄了.
: a6 A! l' |" f2 z& i如果一次改n條,是不是就要寫n條.6 Z* p8 b7 X- w, Q
可以用關鍵字匹配分類嗎,比如標題有scenery的都一次分類到scenery去
+ a; G/ E1 B% E6 p! ~/ K0 ]
回復 给力 爆菊

使用道具 舉報

發表於 2013-7-10 10:00:03 | 顯示全部樓層
還在搞自動阿,太佩服了。
( e: T; e. z8 h* j  l
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-7-11 08:58:33 | 顯示全部樓層
有魚不換酒 發表於 2013-7-10 02:41
0 C) L" ?. ~; Z0 z能詳細說下怎麼用嗎?
0 J" t! \- n% O6 M/ \: t* f. E我是不是建一個php文件,把這個句子寫進去5 I9 R$ z& o7 p$ I' T! I# L
比如

. t; m1 l% M% H6 N: S先把存儲過程通過phpmyadmin註冊進去,然後批量調用就行了.一次可以弄幾千個.一下執行.
: \4 W/ }& L  M+ n+ r
  R( B4 ?% h5 j
回復 给力 爆菊

使用道具 舉報

發表於 2013-7-11 16:03:57 | 顯示全部樓層
shanguiyao 發表於 2013-7-11 08:58 ! S/ ]  N2 ?( I4 k6 [$ z# C0 |
先把存儲過程通過phpmyadmin註冊進去,然後批量調用就行了.一次可以弄幾千個.一下執行.# O8 F( c$ s# K$ P/ n* Q
$ J0 O: N% [& F
...
# r$ A+ u' A; W
每一個post的標題都是不一樣的呀.這樣不是要為每一個post文章調用一次你這個存儲過程嗎?" |/ E: |3 O1 W$ o+ E7 I$ @
批量調用一次,不所有包含某個關鍵字標題的文章都添加一個分類去.這樣如何實現呢
5 @% |1 e+ L5 Z8 p0 f" |) M
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-7-11 20:20:41 | 顯示全部樓層
對,每一個post標題調用一次.可以批量生成的吧?寫個sql都拼出來要執行的一堆存儲過程語句了.應該不太難吧.
2 p, n) L- U' S6 b/ V9 R- q' g
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

过期高净值品牌域名预定抢注

點基跨境 數位編輯創業論壇

GMT+8, 2025-7-12 16:26

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表