web-dev-qa-db-fra.com

Ajouter des champs de méta commentaires aux commentaires metabox sur l'écran d'édition post


J'ai peu de champs personnalisés dans le formulaire de commentaire. Comment puis-je ajouter ces champs aux commentaires metabox? Je divise ma question en 3 parties:

1) Comment supprimer le champ url et ajouter des champs de commentaire personnalisés pour commenter le formulaire de modification rapide?

 comments metabox 

2) Comment ajouter des champs personnalisés pour commenter un formulaire?

 comment add form 

3) Hot pour ajouter des méta-informations personnalisées pour commenter metabox ici?

 comment list metabox 

3
anton

Malheureusement les crochets:

manage_{$this->screen->id}_columns
manage_{$this->screen->id}_sortable_columns
manage_comments_custom_column

ne sont pas disponibles pour la table post-comments list, construite dans l'appel wp_ajax_get-comments. Ce tableau ne comprend que deux colonnes: auteur et commentaire. Les données relatives à l'auteur, à l'avatar, au courrier électronique, aux URL et aux adresses IP sont affichées dans la première colonne.

Nous pouvons par contre utiliser un hack comme:

add_filter( 'get_comment_author_IP', function( $comment_author_IP, $comment_ID, $comment )
{
    if( doing_action( 'wp_ajax_get-comments' ) )
        echo 'Some Custom Text <br/>';

    return $comment_author_IP;
}, 10, 3 );

pour afficher des données, dans la première colonne, pour chaque ligne. Nous pourrions par exemple utilisez un appel get_user_meta() ici.

En ce qui concerne la manière dont nous pouvons ajouter des champs d’entrée personnalisés au formulaire quick-edit comment, nous pouvons également utiliser un hack comme celui-ci:

add_filter( 'the_editor', function( $html )
{   
    if( did_action( 'load-post.php' ) && false !== strpos( $html, 'id="replycontent"' ) )
        $html .= sprintf( 
            '<br/> %s <input type="text" name="newcomment_myphone" value="%s">',
            esc_html__( 'Phone', 'wpse' )
        );

    return $html;
} );

où nous ciblons l'éditeur replycontent sur l'écran post.php. Cela pourrait nécessiter une restriction supplémentaire. Le champ s'affiche sous l'éditeur de contenu de commentaire:

 custom field 

Il devrait alors être possible d’accrocher à l’action edit_comment pour la stocker dans la méta de l’utilisateur.

Cela devrait également fonctionner pour le Ajouter un commentaire form, mais vous aurez peut-être besoin de javascript pour insérer la valeur actuelle dans le champ personnalisé. Je suis sûr qu'il est également possible d'injecter les champs personnalisés, dans le formulaire de commentaire, avec du javascript au lieu de l'approche indiquée ci-dessus.

Vous pouvez essayer de cacher le champ URL avec CSS:

#author-url, label[for="author-url"] {
    display:none;
}

J'espère que vous pourrez ajuster cela davantage.

0
birgire