2013-02-04 3 views
2

Ma mission:
J'ai un système qui aurait pu être un site web autonome, mais j'aimerais faire partie d'un CMS existant pour éviter d'écrire mon propre utilisateur système de gestion, forum, système de blog, etc. J'aurais pu le faire en tant que composant dans Joomla! comme je travaillais avec ça avant, mais malheureusement je n'aime pas Joomla! et ont donc choisi Wordpress.Développer un plugin Wordpress comme un composant dans Joomla

Mon problème:
Mon système doit avoir des pages d'administration et des pages frontales disponibles dans ma page Wordpress. J'ai été capable de créer un plug-in et d'ajouter des pages d'administration, mais je n'ai pas encore trouvé comment faire la partie frontale. Une solution pourrait être de créer un modèle de page dans le thème que je choisis, mais comme je veux séparer autant que possible mon composant de Wordpress et que je veux qu'il soit indépendant du thème, c'est une mauvaise solution. Pourriez-vous m'aider:
Veuillez me fournir un exemple simple ou me guider vers un didacticiel ou un plug-in Wordpress existant pour que je puisse voir mon plug-in. Gardez à l'esprit que ce plug-in ne doit être utilisé que sur ma page et que je veux seulement utiliser Wordpress comme shell pour le plug-in

Répondre

1

Une façon de faire ce dont je pense que vous avez besoin est de créer un template personnalisé fichier que vous pouvez déposer dans un thème. Il vous suffit ensuite de créer une page Wordpress vide via le backend wp-admin et de définir le modèle de page en tant que 'MyPluginPageTemplate'. La page de modèle est indépendante du thème et peut être lâchée dans un ou tous les thèmes du système. Par exemple, créez un fichier appelé myplugin-template.php et enregistrez-le à la racine du dossier du thème actif. (Par exemple /wordpress/wp-content/themes/activetheme/myplugin-template.php)

Mettre le code suivant dans le fichier:

<? 

/** 
* Template Name: MyPluginPageTemplate 
* 
* A custom page template for my plugin 
* 
* The "Template Name:" bit above allows this to be selectable 
* from a dropdown menu on the edit page screen. 
* 
* @package WordPress 
* @subpackage 
* @since 
*/ 

get_header(); ?> 

     <div id="container"> 
      <div id="content" role="main"> 
      <?php 

      $c = new MyPluginClass(); 
      $c->pluginInit(); 

      //Here follows the usual code to include page content in Wordpress - comment out here, because probably not required: 
      //get_template_part('loop', 'index'); 

      ?> 

      </div><!-- #content --> 
     </div><!-- #container --> 

<?php get_footer(); ?> 

Dans cet exemple, je suis en utilisant un plug-in qui est contenu dans une classe, mais ce pourrait être juste une fonction directe comme 'myplugin_init()'.

+0

Merci! Je vais essayer ça. – Dagligleder

Questions connexes