2010-06-16 4 views
3

Je travaille sur une installation multi-site WordPress 3.0. Chaque nouveau blog utilisera le même thème avec de légères modifications (une installation personnalisée de Thesis, si c'est important). J'essaie d'automatiser autant que possible le processus de configuration pour chaque nouveau blog. À cette fin, j'aimerais ajouter automatiquement des widgets à mes barres latérales et à mes pieds de page personnalisés. Ce serait encore mieux si les widgets pouvaient avoir des paramètres/contenus prédéfinis, que moi ou le propriétaire du blog pourrions alors aller dans le panneau Widgets et éditer.Ajouter des widgets aux barres latérales WordPress personnalisées lors de l'activation du thème?

J'ai cherché haut et bas et n'ai pas été capable de trouver un moyen de faire ce travail.

Répondre

3

J'ai été capable de le faire en travaillant avec schema.php. Vous pouvez trouver ce fichier en le localisant dans wp-admin/includes/schema.php. Dans ce fichier, vous trouverez toutes les lignes de la base de données installées lors de l'installation. C'est donc un processus en trois étapes.

1) Installez-en un complètement correct. Ensuite, regardez votre base de données et trouvez les lignes qu'elle crée. Habituellement, ils seront créés dans la table _options. Recherchez ensuite le fichier schema.php et faites défiler jusqu'à la ligne 320 // 3.0 'page_for_posts' => 0, 'page_on_front' => 0,

2) Suivez la même syntaxe ou l'installation de votre installation entière se bloquera. Ensuite, copiez simplement le paste depuis votre table _options. La syntaxe est la suivante: page_for_posts = "nom_option" et 0 = "option_value".

Lorsque vous avez terminé de mettre en correspondance toutes vos nouvelles lignes dans le fichier schema.php, installez un nouveau site. Le nouveau site installera automatiquement toutes vos nouvelles lignes dans la base de données.

3) (Ceci s'applique si vous utilisez des plugins) Enfin, lorsque vous êtes sûr d'avoir tous les plugins dont vous avez besoin. Retour à schema.php et trouver la ligne 238 'active_plugins' => array(), tableau de changement(), à -> (ligne copier et coller « active_plugins » - la partie option_value »)

Par conséquent, tous vos plugins seront installés instantanément lorsque vos sites sont créés .

Pour résumer ... 1) terminer un site complètement 2) Trouver vos nouvelles lignes de base de données 3) éditer schema.php et upgrade.php correctement 4) installer un nouveau site.

****** comme toujours assurez-vous que vous sauvegardez votre site et toujours TEST TEST TEST

Laissez-moi savoir si cela est source de confusion. Je l'utilise pour mon travail et il m'a fallu quelques semaines de découverte pour que cela fonctionne parfaitement. Si vous avez plus de questions et que vous voulez me demander directement, vous pouvez m'envoyer un email. Regarde ma bio.

EDIT: Vous pouvez également automatiser les messages et les pages par wp-admin/include/upgrade.php - cette façon, vous pouvez installer des widgets/code widget sur l'installation et :)

+0

Merci beaucoup, @bvandrunen. Je vais donner un coup de feu dans les prochains jours. J'espérais vraiment trouver une solution qui n'impliquait pas le piratage du noyau, mais je n'ai certainement rien trouvé pour l'instant. Les widgets sont le plus grand désagrément pour moi lorsque vous déplacez une installation locale sur un site en direct - les réimplanter tous à la main et recréer leurs réglages vous donne l'impression d'être occupé. J'aurais aimé qu'il y ait une fonction 'widgets d'import/export' semblable aux postes d'import/export ... Ah bien. Peut-être en 4.0 :-) – Michelle

+0

@McGril, ce serait une excellente fonction et m'aurais sauvé beaucoup de temps aussi. Faites moi savoir si vous avez des questions. Pour ma société j'ai mis en place un processus où nous avons automatisé l'ensemble du processus d'installation pour tous les nouveaux sites clients (après l'installation puis nous le personnalisons) - mais cela nous économise plus d'une heure ou plus. J'espère que tout va bien :) – bvandrunen

Questions connexes