web-dev-qa-db-fra.com

Ajout de catégories à tous les blogs à la fois

J'utilise WordPress mu 2.9.2 et j'ai la même structure de catégories sur tous mes blogs. Comment ajouter des catégories à tous mes blogs simultanément? Y at-il un plugin qui fait cela efficacement?

2
Innate

Vous pouvez écrire un script pour cela. Voici quelque chose que j'ai écrit à Perl récemment:

  1. d'abord, les instructions SQL pour vérifier si le terme existe déjà et si non l'insérer:

les déclarations préparées:

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. faites ensuite le terme entrée taxonomie:

les déclarations préparées:

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;

Et utilisez les requêtes ci-dessus avec du code autour (vous devez vérifier les blogs qui ont déjà certaines des catégories).

Pour MU uniquement les blogs> 1, identifiez-vous dans le nom de la table:

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";

Il suffit donc de les parcourir en boucle.

1
edelwater