web-dev-qa-db-fra.com

Développement de plugins: WPMU ou WP?

Je me demandais quel genre de problèmes pourrais-je rencontrer si je portais un plugin de WPMU sur WP ou vice versa.

Disons que j'ai développé un plugin à partir de zéro et que je voulais que ce plugin soit compatible avec les deux. Devrais-je commencer par WPMU ou WP?

7
Damien Roche

Vous aurez besoin de tester dans les deux configurations, car elles se comportent différemment dans de nombreuses situations. Certaines des différences les plus notables sont les suivantes:

  1. Si vous enregistrez un rappel d'activation, vous devez vérifier si l'activation concerne l'ensemble du réseau. Si c'était le cas, exécutez la logique d'activation de tous les blogs au lieu de simplement celle en cours.
  2. Si le plug-in est activé par le réseau, le rappel d'activation habituel ne se déclenchera pas lorsque de nouveaux blogs seront ajoutés. Vous devrez donc créer un rappel supplémentaire lié à l'action wpmu_new_blog. Il doit basculer sur le nouveau blog, suivre la logique d'activation, puis restaurer le blog actuel. Le $id du nouveau blog est transmis au gestionnaire en tant que premier paramètre.
  3. Si vous créez un type de publication personnalisé et souhaitez que la boîte de méta Définir l'image sélectionnée apparaisse, vous devez vous assurer que le paramètre Touches de téléchargement de média a la case à cocher Images activée. Vous pouvez utiliser get_site_option( 'mu_media_buttons' ) pour le vérifier et update_site_option() pour le définir.
  4. Le chemin d'accès au répertoire de téléchargement est différent, mais tout ira bien si vous utilisez toujours wp_upload_dir () à la place des constantes.
  5. Chaque blog a sa propre copie de la plupart des tables de la base de données et est préfixé par l'ID du blog. Vous n'avez généralement pas besoin de faire quoi que ce soit de spécial, même si vous utilisez l'API pour interagir avec la base de données - ce que vous devriez faire, dans la mesure du possible.
  6. Les utilisateurset usermetatables sont l'exception; ils sont partagés sur tous les blogs.
  7. Il y a eu récemment quelques bogues WP-Cron [ 1 , 2 ] qui n'affectaient que les travaux effectués sur des installations MultiSite.

Vous pouvez utiliser switch_to_blog () si vous devez accéder temporairement aux données d'un autre blog avec des fonctions d'API, puis restore_current_blog () pour revenir en arrière.

Vous pouvez voir un exemple complet des fonctions d'activation en parcourant la source de mon squelette de plug-in .

8
Ian Dunn

Il n'y a pas de différence.

De http://mu.wordpress.org/

WordPress MU n'est plus un projet séparé; il poursuit son développement dans le cadre de la branche principale de WordPress sous le nom multisite ou MS.

Lors du développement, utilisez une installation multi-site, car parfois la gestion des fichiers et les chemins sont un peu délicats.

4
fuxia