过期域名预定抢注

 找回密碼
 免费注册

wordpress批量更新category的方法

  [複製鏈接]
發表於 2013-7-9 10:58:26 | 顯示全部樓層 |閱讀模式
wordpress在線寫英文有些慢,我是在本地寫了一個簡單的錄入系統.寫好後批量導入進去.這牽涉到一些category或者tag的導入.為了批量導入.寫了一個存儲過程.然後批量調用存儲過程,可以把category導入進去.分享一下.
3 p7 {4 _( O+ \2 b. Q) v$ Z4 K4 m/ N7 \( m* j6 ~

! X1 n& [( T* G/ W- LCREATE  PROCEDURE `p_add_article_category`(in v_term VARCHAR(300),in v_title varchar(2000))
% |: J' U. J/ k# Q' QBEGIN
) @# `5 Z) f) _- t' R' Cset @wp_post_id=IFNULL((select id from wp_posts where post_title=v_title limit 0,1),0);
% i1 y3 s( x+ W+ p/ i) N1 x8 y0 Kif (@wp_post_id>0) then9 i  J& j7 F9 k7 ^. T& |
   set @term_id=IFNULL((select term_id from wp_terms where name=v_term limit 0,1),0);, O7 ?+ k7 I: H, f% m
   if (@term_id=0) then+ y; D! O1 r7 Z
       insert into wp_terms(name,slug, term_group) values(v_term,v_term,0);
+ Y1 ?2 L& D3 T% j" B       set @term_id=(select term_id from wp_terms where name=v_term limit 0,1);/ f3 t! F) G& p6 e6 y) A
   end if;
- [0 ^) C% f# H   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);4 n* T$ J/ n: n: _) F8 v& B
   if (@term_taxonomy_id =0) then5 F  W4 J8 j) n& R6 g
           insert into wp_term_taxonomy(term_id,taxonomy,description,parent,count) values(@term_id,'category','',0,0);' W0 I- Q- ?# u9 L3 H& ]
           set @term_taxonomy_id=(select term_taxonomy_id from wp_term_taxonomy where taxonomy='category' and term_id=@term_id limit 0,1);2 |) F9 H3 m% ^' ]' A/ p; ~& ?5 _
   end if;+ t% Y- M- T+ L  g8 o5 Y' c

8 z/ Z( d0 }) Z' v. w5 h. Q   if(not EXISTS(select 1 from wp_term_relationships where object_id=@wp_post_id and term_taxonomy_id=@term_taxonomy_id)) then9 A1 V  r4 _  {- |* v) Z' z
           insert into wp_term_relationships(object_id,term_taxonomy_id,term_order) values(@wp_post_id,@term_taxonomy_id,0);
# m9 L* C. M4 F5 t           update wp_term_taxonomy set count=count+1 where taxonomy='category' and term_id=@term_id;
/ ~2 J- ~5 j; }- `! W( z" V   end if;: T3 \9 v6 P; ^. ?, {, {1 h
end if;1 v4 d/ Z# f5 y$ s( u3 ]/ M
END
$ E, r% \0 j& u3 F7 e8 K. ]" t3 s: {% W
調用方法:2 x8 Q8 N* y6 V$ }
6 ?( F/ r% K3 ~; h4 b/ w0 e- u
call  p_add_article_category('scenery','this is the title about scenery');6 K$ O7 O  U+ S% J4 T! Y

6 R! @' j( i0 s: r! j2 _! A6 h1 w0 g+ O* E7 Y  Z

評分

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

查看全部評分

發表於 2013-7-9 11:19:57 | 顯示全部樓層
火車必用,謝謝分享。好東西
/ K1 W' F/ \. E, Y! p' t  D
回復 给力 爆菊

使用道具 舉報

發表於 2013-7-9 21:11:13 | 顯示全部樓層
好東西,謝謝分享!愛瘋!
+ f1 k! s: R0 B7 p8 {
回復 给力 爆菊

使用道具 舉報

發表於 2013-7-10 02:41:54 | 顯示全部樓層
能詳細說下怎麼用嗎?
  p* p3 b% ?3 c' B我是不是建一個php文件,把這個句子寫進去
8 F( y( |4 y8 }; Q比如) b! C% i% M4 s. T% r! h0 v
call  p_add_article_category('scenery','this is the title about scenery');
3 h+ @" D" s4 W6 Y* I8 xcall  p_add_article_category('scenery','this is the title about scenery 2');
( D* t  u# T& f& Ucall  p_add_article_category('scenery','this is the title about scenery 3');, W' i3 Z2 V' }  [
這樣是添加3個文章到目錄了.) v* Q6 Y, \. y( y, H/ p. V: y
如果一次改n條,是不是就要寫n條.5 |. p$ }- x  y( H! U
可以用關鍵字匹配分類嗎,比如標題有scenery的都一次分類到scenery去6 e! P! [; ~  V8 G" Q- y
回復 给力 爆菊

使用道具 舉報

發表於 2013-7-10 10:00:03 | 顯示全部樓層
還在搞自動阿,太佩服了。
4 U6 b: \$ _, a+ U/ I5 d0 o( l& `
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-7-11 08:58:33 | 顯示全部樓層
有魚不換酒 發表於 2013-7-10 02:41
% O$ {$ }3 k/ B) p2 X能詳細說下怎麼用嗎?/ ~  J" ?% l" g& f7 x+ v8 K
我是不是建一個php文件,把這個句子寫進去
  W. S8 B" q2 ]. E" d! B比如
7 i3 N2 @/ I+ k' X
先把存儲過程通過phpmyadmin註冊進去,然後批量調用就行了.一次可以弄幾千個.一下執行.
3 Q* d8 b6 z6 U9 k8 k/ D7 w6 t2 {+ N8 r- U; o) k
回復 给力 爆菊

使用道具 舉報

發表於 2013-7-11 16:03:57 | 顯示全部樓層
shanguiyao 發表於 2013-7-11 08:58 ! F1 }, S3 z. Z. G3 A% |! Q
先把存儲過程通過phpmyadmin註冊進去,然後批量調用就行了.一次可以弄幾千個.一下執行.
$ Z6 J  S, P+ K
! r. j3 P# t, c/ G ...

4 ^. Z  x1 _3 C' X每一個post的標題都是不一樣的呀.這樣不是要為每一個post文章調用一次你這個存儲過程嗎?
) I3 D: d" ]1 }$ l批量調用一次,不所有包含某個關鍵字標題的文章都添加一個分類去.這樣如何實現呢
5 [$ @: C- v+ S+ d" o; N
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-7-11 20:20:41 | 顯示全部樓層
對,每一個post標題調用一次.可以批量生成的吧?寫個sql都拼出來要執行的一堆存儲過程語句了.應該不太難吧.
1 F- o# e1 H. F! p
回復 给力 爆菊

使用道具 舉報

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

本版積分規則

4um點基跨境網編創業社區

GMT+8, 2024-11-26 02:36

By DZ X3.5

小黑屋

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