J'essaie d'étendre la fonctionnalité des commentaires dans une installation WordPress. J'ai lu une allusion à une fonctionnalité insaisissable «type de commentaire personnalisé», mais je n'ai trouvé aucune information. Au lieu de cela, je pensais que j'ajouterais une colonne personnalisée à la table de base de données 'comments'. C'est la partie facile. Ce que je n'ai aucune idée de comment faire est de personnaliser les requêtes de commentaires pour enregistrer, mettre à jour et lire les commentaires pour refléter l'existence de la nouvelle colonne de la table. Je pensais qu'il y aurait un filtre pour modifier la requête, mais je ne trouve pas qui le ferait ... Des idées?Personnaliser WordPress commentaire post requête
Répondre
Il n'y a pas vraiment de type de commentaire personnalisé mais vous pouvez facilement ajouter des colonnes en utilisant "comment meta" qui est une table de paires nom/valeur associée où chaque paire nom/valeur est associée à un commentaire donné en utilisant un 'meta_key'
(s'il vous plaît ne pas ajouter une colonne à la base de données SQL, c'est mal vus dans la communauté des développeurs WordPress.)
Supposons que vous vouliez laisser l'utilisateur d'ajouter leur compte Twitter. C'est le code qui sauverait mon compte Twitter au commentaire identifié par $comment_ID
(préfixer le nom de clé méta avec un trait de soulignement est une bonne idée pour tout méta que vous maintenez via le code personnalisé vs que vous laissiez les utilisateurs sélectionner la clé méta):
update_comment_meta($comment_ID,'_twitter','mikeschinkel');
ensuite de charger la valeur à afficher dans votre modèle que vous appelez simplement get_comment_meta()
(le troisième paramètre moyen pour renvoyer une valeur unique, pas un tableau de valeurs):
$twitter = get_comment_meta($comment_ID,'_twitter',true);
de cours wi Bien savoir comment accrocher WordPress pour intégrer cela les fonctions ci-dessus ne serait pas beaucoup d'aide. Il y a deux crochets, vous aurez besoin d'utiliser, le premier étant wp_insert_comment
qui sera appelé lorsque WordPress enregistre un commentaire:
add_action('wp_insert_comment','yoursite_wp_insert_comment',10,2);
function yoursite_wp_insert_comment($comment_ID,$commmentdata) {
$twitter = isset($_GET['twitter']) ? $_GET['twitter'] : false;
update_comment_meta($comment_ID,'_twitter',$twitter);
}
Le second est un peu plus compliqué; celui qui vous permet d'ajouter des champs et de modifier d'autres aspects du formulaire de commentaire. Le crochet 'comment_form_defaults'
définit les valeurs par défaut pour le commentaire et vous ajoutez nous allons le code HTML pour un champ Twitter (j'accroché le format pour le code HTML de la fonction comment_form()
trouvée dans /wp-includes/comment-template.php
en ligne 1511 dans WP v3.0.1)
add_filter('comment_form_defaults','yoursite_comment_form_defaults');
function yoursite_comment_form_defaults($defaults) {
$email = $defaults['fields']['email'];
$label = __('Twitter');
$value = isset($_GET['twitter']) ? $_GET['twitter'] : false;
$defaults['fields']['twitter'] =<<<HTML
<p class="comment-form-twitter">
<label for="twitter">{$label}</label>
<input id="twitter" name="twitter" type="text" value="{$value}" size="30" />
</p>
HTML;
return $defaults;
}
Et voici à quoi il ressemble en action:
Cette forme commentaire extensibilité est nouvelle pour WordPress 3.0 si par sa nature d'être nouveau dans un projet open-source, il ne va probablement pas à accommodat (comme il n'y avait pas de moyen facile d'obtenir une valeur mémorisée pour le nom d'écran Twitter) mais j'espère que vous serez en mesure de plier assez pour vous et obtenir ce dont vous avez besoin et à l'avenir libéré de WordPress l'API de formulaire de commentaire va presque certainement s'améliorer.
Espérons que cela aide.
-Mike
post-scriptum À l'avenir, envisagez de publier votre question sur le site partenaire de StackOverflow: WordPress Answers; C'est là que la plupart des passionnés de WordPress traînent, ceux qui peuvent répondre rapidement à des questions comme celle-ci.
J'ai trouvé ce lien utile en rapport avec le sujet:
Customizing Comments in WordPress - Functionality and Appearance
- 1. Comment personnaliser mon enregistrement de commentaire dans WordPress
- 2. wordpress mysql requête pour post thumbnail
- 3. SQL/Wordpress - requête pour supprimer un champ de commentaire
- 4. Les cookies de commentaire Wordpress
- 5. Modification d'affichage de commentaire Wordpress
- 6. Wordpress Date Post
- 7. wordpress static/post pages
- 8. Wordpress post image personnalisation
- 9. WordPress Post Thumbnail
- 10. Wordpress Post # de #
- 11. Wordpress cacher Post Div
- 12. Wordpress pull Blog Post
- 13. Wordpress Post order
- 14. get post de wordpress
- 15. Wordpress post thumbnails
- 16. Plugin Share-post pour wordpress pas au-dessous du contenu mais dans le conteneur de commentaire
- 17. ajouter un commentaire comme wordpress stackoverflow
- 18. Extrait l'URL de commentaire de la fonction wordpress
- 19. Comment personnaliser wordpress à des fins intranet?
- 20. comment personnaliser les champs dans l'application de commentaire de django?
- 21. Tweet quand un commentaire est créé avec wordpress
- 22. requête wordpress
- 23. Page dynamique/Post sur wordpress
- 24. Types WordPress personnalisés post Réécrire
- 25. Auto Refresh Wordpress Post Div
- 26. UpdatePanel asynchrone dans WordPress Post
- 27. post-formats dans WordPress 3.1
- 28. Commander des publications Wordpress par le plus récent commentaire
- 29. Wordpress commentaire séparé et pingback sur vingt dix thème
- 30. Postes de requête WordPress en deux Divs
Quelle réponse grande et complète !! Merci beaucoup! Je vais certainement aller à Wordpress Answers à l'avenir. Merci encore!! –
@ Regis Zaleman - Vous êtes les bienvenus! – MikeSchinkel
@MikeSchinkel - Tout d'abord, votre réponse est parfaite, je veux juste demander qu'il est possible de montrer cette valeur de méta aux visiteurs? Je veux dire laisser les utilisateurs entrer leur âge et laissez-moi montrer l'âge des commentateurs dans son coment. Merci. – Alper