web-dev-qa-db-ja.com

一度にすべてのブログにカテゴリを追加する

私はWordPress mu 2.9.2を使用していて、すべてのブログで同じカテゴリ構造を持っています。カテゴリをすべてのブログに同時に追加する方法これを効果的に行うプラグインはありますか?

2
Innate

そのためのスクリプトを書くことができます。これは私が最近Perlで書いたものです:

  1. 最初にsqlステートメントで、その用語がすでに存在するかどうか、また挿入されていないかどうかを確認します。

準備されたステートメント:

my $wts    = $dbh->prepare(
"SELECT term_id FROM $tb_wp_terms WHERE name = ?")
or die "Couldn't prepare statement: " . dbh->errstr;

my $wti    = $dbh->prepare(
"INSERT INTO $tb_wp_terms
(name, slug) VALUES (?,?)")
or die "Couldn't prepare statement: " . dbh->errstr;
  1. 次に、分類法という用語を入力します。

準備されたステートメント:

my $wtts    = $dbh->prepare(
"SELECT term_taxonomy_id FROM $tb_wp_term_taxonomy WHERE term_id = ? 
 AND taxonomy = '".$config{'wordpress.taxonomy_type'}."'")
 or die "Couldn't prepare statement: " . dbh->errstr;

my $wtti    = $dbh->prepare(
"INSERT INTO $tb_wp_term_taxonomy
(term_id, taxonomy, count) VALUES (?,?,1)")
or die "Couldn't prepare statement: " . dbh->errstr;

my $wtts_count    = $dbh->prepare(
"SELECT count FROM $tb_wp_term_taxonomy WHERE term_taxonomy_id = ? AND taxonomy =
   '".$config{'wordpress.taxonomy_type'}."'")
or die "Couldn't prepare statement: " . dbh->errstr;

my $wtti_count    = $dbh->prepare(
"UPDATE $tb_wp_term_taxonomy
 SET count = ?
 WHERE term_taxonomy_id = ?
 ")
or die "Couldn't prepare statement: " . dbh->errstr;

そして、その周りにいくつかのコードを付けて上記のクエリを使用します(あなたはすでにいくつかのカテゴリを持っているブログをチェックする必要があります)。

MUの場合、ブログ> 1のテーブル名にブログIDを取得します。

my $tb_blogid = "";
if ( $config{'wordpress.wp_mu_blog_id'} > 1 )
{
$tb_blogid = "_" . $config{'wordpress.wp_mu_blog_id'};
}
my $tb_posts                    = $config{'wordpress.prefix'} . $tb_blogid . "_posts";
my $tb_wp_terms                 = $config{'wordpress.prefix'} . $tb_blogid . "_terms";
my $tb_wp_term_taxonomy         = $config{'wordpress.prefix'} . $tb_blogid .     
"_term_taxonomy";
my $tb_wp_terms_relationships   = $config{'wordpress.prefix'} . $tb_blogid . 
"_term_relationships";

それで、それらをループしてください。

1
edelwater