IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

Développement de plugin


Sujet :

WordPress PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut Développement de plugin
    Bonjour à tous,

    Je suis en train de développer un plugin sous Wordpress pour voir ce qui est possible de faire avec Wordpress. Ce plugin est un plugin de type CRUD (Create, read, Update and Delete).

    J'ai réussi à créer ma table sur la base de donnée ett je m'attaque maintenant à la partie lecture. J'ai développé la fonction qui va interroger la base de données. Mais, je n'arrive pas à faire une page qui appelle la fonction.

    J'ai pensé à créer à la main une page, lui insérer un BBcode (par exemple [myplug]lecture[/myplug]) et d'ajouter un filtre lorsque wordpress voit ce BBcode, il appelle ma fonction de lecture.

    Je voudrai savoir s'il y a un moyen plus propre pour faire ça ?

    Voici le code de mon plugin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <?php  
    /* 
    Plugin Name: myplug 
    Plugin URI: http://www.myplug.com/
    Description: myplug is a CRUD wordpress plugin. 
    Version: 1.0.0 
    Author: John DOE
    Author URI: http://johndo.com/
    */
     
    class myplug{
     
    	public $DB_VERSION = '1.0.0';
    	/**
    	 * Constructor
    	 */
    	function __construct(){                                    
     
    	}  
    	/**
    	 * Install the plugin
    	 * @global wpdb $wpdb
    	 */
    	static function install(){
    		global $wpdb;
    		$myMessagesTableName = $wpdb->prefix.'myMessages';
     
    		if($wpdb->get_var("SHOW TABLES LIKE '$myMessagesTableName'") != $myMessagesTableName){
    			//création de la table
    			$sql = "CREATE TABLE `$myMessagesTableName` (
    				`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    				`name` VARCHAR(50) NOT NULL
    				) ;";
    			require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    			dbDelta($sql);
     
    			$option['myplug_version'] = $DB_VERSION;
    		}
    		add_option('myplug_version',$option);
    	}
     
    	/**
    	 * Uninstall the plugin
    	 * @global wpdb $wpdb
    	 */
    	static function uninstall(){
    		global $wpdb;
    		$myMessagesTableName = $wpdb->prefix.'myMessages';
    		if($wpdb->get_var("SHOW TABLES LIKE '$myMessagesTableName'") == $myMessagesTableName){
    			//création de la table
    			$sql = "DROP TABLE `$myMessagesTableName`";
    			$wpdb->query($sql);
    		}
    		delete_option('myplug_version');
    		/*delete_option($this->adminOptionsName);
    		delete_option($this->userOptionsName);*/
    	}
     
    	/**
    	 * Return the content of the table
    	 * @global wpdb $wpdb
    	 * @return array $messages
    	 */
    	function getMessages(){
    		global $wpdb;
    		$myMessagesTableName = $wpdb->prefix.'myMessages';
    		$sql = $wpdb->prepare("SELECT * FROM $myMessagesTableName ");
    		$messages = $wpdb->get_results($sql);
    		return $messages;
    	}
     
    }    
    register_activation_hook( __FILE__ ,array('myplug', 'install')) ; 
    register_deactivation_hook( __FILE__ ,array('myplug', 'uninstall')) ;                                                                  
    ?>

  2. #2
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Points : 44
    Points
    44
    Par défaut
    Salut,

    Je suis pas mal nouveau moi aussi au niveau de wordpress, mais voici ce que j'ai fait :
    Dans la méthode d'initialisation du plugin , ajouté par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    add_action('init',  array(&$this, 'fonctionInit'));
    , je fais différents tests pour valider ce que veux faire l'utilisateur, en me basant sur l'existence de clefs dans le tableaux $_GET.

    Si je veux montrer le résultat d'une recherche, et que j'ai mon flag dans le $_GET, je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    add_action('loop_start', array(&$this, 'showResults'));

Discussions similaires

  1. Développement de plugin pour Firefox, comment faire ?
    Par Vince dans le forum Autres langages pour le Web
    Réponses: 5
    Dernier message: 06/12/2009, 12h53
  2. Réponses: 7
    Dernier message: 31/05/2007, 21h38
  3. Développer des plugins Eclipse
    Par jreeman dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 06/10/2006, 18h00
  4. Demande infos pour développer un plugin
    Par alexge dans le forum Eclipse Platform
    Réponses: 5
    Dernier message: 10/05/2006, 15h13
  5. Développer un plugin pour Eclipse ( piste)
    Par eRom dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 12/07/2005, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo