Ecrire un plugin pour WordPress. Les préparatifs pour l'établissement de la page des paramètres (Partie 3).
Contenu du stage de créer un plugin pour WordPress
- Présentation, informations générales (écrire un plugin pour WordPress. Partie 1.)
- La Théorie générale (écrire un plugin pour WordPress. Partie 2.)
- Préparation à la création de la page des paramètres (écrire un plugin pour WordPress. Partie 3.)
- Pour créer un plugin de la page des paramètres (écrire un plugin pour WordPress. Partie 4).
- Composante fonctionnelle (écrire un plugin pour WordPress. Chapitre 5.)
- L'internationalisation et la russification (écrire un plugin pour WordPress. Partie 6.)
- Ajoutant à la WordPress.org référentiel (écrire un plugin pour WordPress. Chapitre 7.)
- Plugin de fichiers de code source pour WordPress
'myplugin_set_options' ) ; , где __FILE__ будет автоматически заменено на вызов файла плагина). Donc, nous savons déjà comment appeler une fonction de paramètres pour le plugin dans le processus d'installation de celui-ci (en appelant register_activation_hook ( __FILE__ , 'myplugin_set_options' ) ; , où __FILE__ sera automatiquement modifié pour appeler le plugin de fichier). Maintenant, afin d'écrire un plugin pour WordPress, nous avons besoin de définir les options par défaut (en créant les entrées appropriées dans le tableau prefix_options *) et de créer une page de paramètres où l'utilisateur peut contrôler le comportement du plugin.
* Prefix_options -. Paramètres de la table mySQL avec wordpress Préfixe est spécifié dans le fichier wp-config à installer wordpress et a un wp zanchenie par défaut (ie, une table appelée wp_options).
Créer et supprimer des options lors de l'écriture plugin wordpress
Créer les paramètres par défaut et les paramètres de table, le plug-in.
Comme vous souvenez peut-être à partir de la seconde partie de ce manuel, par exemple, j'ai décidé d'écrire un plugin wordpress, changer le titre, le corps et l'enregistrement de la date de publication. Cela signifie que la fiche doit être quelque part pour prendre les données nécessaires pour être remplacés. Pourquoi avons-nous créer une table séparée avec les données de plug-in. Donc:
- Obtient les noms des tables de préfixe pour l'wordpress-blog pour écrire un plugin créé un tableau de leurs préférences avec le même préfixe dans le nom myplugin_get_table_handle ( ) ; # в этой переменной будет содержаться имя таблицы с настройкам написанного нами плагина wordpress $ Myplugin_prefs_table = myplugin_get_table_handle (); # cette variable contiendra le nom d'une table avec notre plugin wordpress écrite
Fonction myplugin_get_table_handle () {
; # класс wordpress для работы с БД global $ wpdb; # classe de travailler avec wordpress base de données
-> prefix . "myplugin_preferences" ; # создаём имя таблицы настроек плагина return $ wpdb - prefix> "myplugin_preferences";. # créer un nom pour les paramètres de table, le plug-in
} - Installer le plug-in les paramètres par défaut dans le prefix_options wordpress table et créer notre propre table des paramètres Une
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
39myplugin_set_options function () {
; global $ wpdb;
, 0 ) ; # будет ли плагин по умолчанию обрабатывать заголовки записей. add_option ('myplug_modify_title', 0) # si le plugin par défaut pour traiter les en-têtes des documents. 0 - pas de
, 1 ) ; # --||-- тело записей. add_option ('myplug_modify_content', 1) # --||-- ensemble de documents. 1 - oui
wpsig_get_table_handle ( ) ; # вызов функции повторяется, т. к. данные действия происходят на этапе установки плагина, когда вызов в теле еще не может быть осуществлён $ Myplugin_prefs_table = wpsig_get_table_handle (); appel de fonction # est répété, parce que ces actions se produisent au stade de l'installation du plugin, lorsque l'appel est toujours dans le corps ne peut pas être mis en œuvre
'' ; # кодировка БД $ Charset_collate =''; # encodage DB
version_compare ( mysql_get_server_info ( ) , '4.1.0' , '>=' ) ) if (version_compare (mysql_get_server_info (), '4 .1.0 ','> = '))
"DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci" ; # устанавливаем уникод $ Charset_collate = "caractères par défaut utf8 COLLATE utf8_unicode_ci"; # installe unicode
$wpdb -> get_var ( "SHOW TABLES LIKE ' $myplugin_prefs_table '" ) != $myplugin_prefs_table ) { # если таблица настроек плагина еще не создана - создаём if ($ wpdb -> get_var («SHOW TABLES LIKE '$ myplugin_prefs_table'") = $ myplugin_prefs_table) {# si les paramètres de table, le plug-in n'existe pas encore - la création de
"CREATE TABLE `" . $myplugin_prefs_table . "` ( $ Sql = "CREATE TABLE` ". Myplugin_prefs_table $." `(
`Id` INT NOT NULL AUTO_INCREMENT,
`Titre` VARCHAR (255) NOT NULL default'',
`Body` VARCHAR (255) NOT NULL default'',
UNIQUE KEY id (id)
) $ Charset_collate ";
ABSPATH . 'wp-admin/includes/upgrade.php' ) ; # обращение к функциям wordpress для require_once ('wp-admin/includes/upgrade.php' ABSPATH.); appels de fonction # pour wordpress
) ; # работы с БД. dbDelta ($ sql); # travailler avec la base de données. créer une nouvelle table
}
}
</ Pre>
ul > </ Li> </ ul>
пишем плагин </ strong >, мы должны знать , как в дальнейшем работать с его опциями : Une fois que nous avons <strong> écrire un plugin </ strong>, nous avons besoin de savoir comment continuer à travailler avec ses options:
font color = "#CC33CC" > add_option </ font ></ em > — функция < strong > wordpress </ strong >, создающая новые записи в таблице < em > prefix_options </ em >; <EM> <font Color = "# CC33CC"> add_option </ font> </ em> - Fonction <strong> wordpress </ strong>, qui crée de nouvelles entrées dans la table de prefix_options <em> </ em>;
font color = "#CC33CC" > get_option </ font ></ em > – функция , извлекающая значение настроек ; <EM> <font Color = "# CC33CC"> get_option </ font> </ em> - une fonction qui récupère la valeur des options;
font color = "#CC33CC" > update_option </ font ></ em > служит для обновления записей ( настроек ) , а <EM> <font Color = "# CC33CC"> update_option </ font> </ em> est utilisé pour mettre à jour les dossiers (réglages), et
font color = "#CC33CC" > delete_option </ font ></ em > используется для их удаления . <EM> <font Color = "# CC33CC"> delete_option </ font> </ em> est utilisé pour les supprimer.
"128_ %d 1%83 %d 0 %b 4 %d 0 %b 0 %d _1" > Удаление настроек плагина при деинсталляции </ h2 > <H2 Id = "128_% d 1% 83% d 0% b% d 4 0 0% b% d _1"> Supprimer les paramètres lors de la désinstallation du plugin </ h2>
"true" lang = "php" line_numbers = "false" > <Code Échappé = "true" lang = "php" line_numbers = "false">
myplugin_unset_options function () {
, $myplugin_prefs_table ; global $ wpdb, $ myplugin_prefs_table;
) ; delete_option ('myplug_modify_title');
) ; delete_option ('myplug_modify_content');
"DROP TABLE $myplugin_prefs_table " ; $ Sql = "DROP TABLE $ myplugin_prefs_table";
query ( $sql ) ; $ Wpdb -> query ($ sql);
}Création et la page du plugin paramètres.
Maintenant que nous avons écrit le plugin pour wordpress, a déjà des fonctions pour créer, installer et désinstaller l'installation, il est temps de penser à écrire interfyes permettant à ces paramètres à contrôler. Contrôler les paramètres des plugins wordpress faite par des moyens de les paragraphes pertinents du menu d'administration, qui sont en fait la page des paramètres.
Placer des liens vers le plug-in page des paramètres.
Premièrement, vous devez décider où nous allons publier un lien vers une page avec les paramètres de notre plugin wordpress. Les options - à sa place dans le menu principal d'administration wordpress (par exemple, après la rubrique "Paramètres", il est recommandé de le faire uniquement si votre plugin apporte certaines modifications importantes dans les fonctions wordpress et un menu séparé car il est nécessaire), ou à placer page Paramètres dans "Settings" (. Voilà comment nous procédons) écrire un plug-in le code suivant:
myplugin_admin_page function () {
, 'MyPluginButton' , 8 , __FILE__ , 'myplugin_options_page' ) ; add_options_page ('MyPlugin', 'MyPluginButton', 8, __FILE__, 'myplugin_options_page');
}Laissez-moi vous expliquer ce qui se passe ici:
add_options_page - appelé une fonctionnalité standard de WordPress pour installer la page des paramètres.
MyPlugin - plugin-tête de page des paramètres;
MyPluginButton - le nom du bouton dans le menu, qui est utilisé pour aller à la page des paramètres;
8 - le niveau des droits d'accès des utilisateurs, qui seront bouton visible (dans ce cas - pas moins de un administrateur), plus le nombre - le plus élevé doit être droite;
__FILE__ - Appel du fichier à partir de notre plugin (si la fonction responsable de travailler avec les paramètres de page ne sont pas dans le fichier de script principal, vous devez spécifier le chemin vers eux). Pour les plus grands fiche avec une structure complexe peut être nécessaire.
myplugin_options_page - nom de la fonction qui vise à renforcer les paramètres de la page et continuer à travailler avec elle.Formation de la page avec les paramètres
Avec le placement sur le bouton-lien vers la page des paramètres, nous avons décidé, nous continuons d'écrire des plug-in.
Maintenant, je ne énumérer brièvement les grands principes et les moyens de créer la page des paramètres, en fonction de sa création - la plus importante (en termes de code) dans notre plugin de test et il est digne de l'analyse avec des commentaires détaillés dans une procédure distincte, partie suivante du guide intitulé «Comment écrire un plugin wordpress ».Ainsi, la page du plugin wordpress est réglages dans une page html ordinaire (comme ici, de cette façon bébête du monde
), Dans lequel sont les différents domaines d'intervention de l'utilisateur. Pour comprendre la structure de cette page, vous devez être familier avec cgi-programmation en général (qui sont intéressés - chercher des livres sur la programmation CGI-« Bibliothèque »). Si vous expliquez vos doigts, il ressemble à ceci: - dérivation de l'information générale (titre, description, information, etc);
- créer un formulaire (tous les travaux avec l'entrée utilisateur est organisée par les formes de retrait et d'obtenir à nouveau leurs paramètres);
- établissement dans les champs du formulaire pour la saisie de l'utilisateur (commutateurs, des cases à cocher, boutons radio, menu déroulant sous la forme de listes, champs de saisie de texte, etc);
- réception des formulaires de saisie de l'utilisateur;
- traitement des données (vérification de la conformité à certains critères, effectuer une action sur les données, etc)
- renvoyer des résultats de traitement pour l'utilisateur a entré ses données (dans notre cas - marquée par une case cocher marquée "Paramètres sauvé», etc)
Ainsi, dans la partie suivante du manuel «Rédaction d'un plugin pour WordPress" Je vais regarder comment exécuter l'algorithme décrit ci-dessus. Nous allons créer un plug-in page de configuration avec des cases à cocher pour sélectionner le mode de travail et d'un champ de texte destinée à l'utilisateur entre des mots qui vont continuer à fonctionner lorsque le plug-in en-tête et le corps des dossiers avant leur publication.
Vous pouvez télécharger le fichier de plugin pour examiner le code. Comme la publication de nouvelles pièces du dossier manuel sera mis à jour.
Tous les succès!
Plus sur les mêmes sujets:
Filed under: référencement , blogs , Codage |
Tags: Comment-à , plug-in , WordPress , blogue , la programmation , la promotion |
11 commentaires



Un grand merci à l'auteur pour le travail accompli! L'avantage réel pour l'écriture des plug-ins, même si bien sûr les questions se poseront, en particulier si le niveau de la programmation n'est pas grande. Cherchez à nos questions!
Constamment re-lire vos articles. Rangez-les sur l'ordinateur et puis re-lire
Lorsque vous activez le plugin le message d'erreur -
Appel à wpsig_get_table_handle undefined function () dans wp \ wp-content \ plugins \ example_plugin.php sur la ligne 21
Fonction dans l'exemple est myplugin_get_table_handle, oublié de corriger.
dimio écrit:
Je le pensais aussi, et remplacé wpsig_get_table_handle () sur myplugin_get_table_handle ()
Mais à la fin:
Attention: call_user_func_array () [Function.call-user-func-array]: Premier argument devrait être un callback valide, wpsignaturer_admin_page 'a été donnée dans E:! \ Web \ www \ WP \ wp-includes \ plugin . php on line 339
Si ce n'est pas difficile, puis testez votre exemple, de référence à laquelle vous donnez.
Je serais très reconnaissant si vous pouviez corriger l'erreur, il est très désireux de comprendre, mais ne savez pas où le troupeau ...
Vérifiez à vos loisirs. Avez-vous télécharger ce plugin ici: Il et à travailler sur son image et ressemblance de l'exemple que je faisais.
Merci et un coup d'oeil.
Ne me dites pas comment ajouter des plug-in permet d'ajouter des données individuelles à un poste spécifique. C'est, lorsque le plug-in possède son propre champ dans l'édition du jeûne?
Si je comprends bien la question - cela doit être fait par le biais "des champs arbitraires (champs personnalisés)". Lire par exemple ici:
Ils sont créés funetsiey wordpress add_post_meta - (En anglais)
Et l'information la plus complète (également en anglais.)
Eh bien, avec chaque message de mieux en mieux
Et je ne veux pas vous souhaiter une énigme dimio, auteur et boire!
Mais sérieusement, je vous conseille dans des positions de donner un quelconque exemple d'écriture d'un plugin. C'est au cours de cet auteur mini-podkursa lui-même, qui est, dites-vous comment écrire un plug-in particulier, par exemple., un plug-pagination ou captcha
Mais si le talent pour php pas, vous pouvez démonter postochno Au moins quelques ready-made de plug-in
Burn, l'auteur!
Comment placer un lien après le menu "Options"?
Pour ce faire, Et dans celle-ci (si nécessaire) afin d'ajouter leur menu: