J'ai créé un type d'article personnalisé et je souhaite afficher et autoriser les commentaires.
J'ai ceci dans function.php:
// Add Custom Post Types
add_action( 'init', 'thm_post_types' );
// Add Custom Post Types Function
require_once ( THEME_INCLUDES . 'theme-post-types.php' );
require_once ( THEME_INCLUDES . 'theme-comments.php' );
Dans mon thème-post-types.php j'ai:
register_post_type( 'product',
array(
'labels' => array(
'name' => 'Product Items',
'singular_name' => 'Product' ,
'add_new' => 'Add New Product',
'add_new_item' => 'Add New Product Item' ,
'edit' => 'Edit Product',
'edit_item' => 'Edit Product Item',
),
'description' => 'Product Items.' ,
'public' => true,
'supports' => array( 'title', 'editor', 'thumbnail', 'custom-fields' ), // ***** i believe this is the problem ******
'taxonomies' => array('category', 'post_tag')
)
);
register_taxonomy( 'product_category', array( 'product' ), array( 'label' => "Categories", "singular_label" => "Category" ) );
Et enfin dans mon theme-comments.php:
function thm_format_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div class="comment" id="comment-<?php comment_ID() ?>">
<div class="avatar"><?php echo get_avatar( $comment, $size='80' ); ?>
<?php comment_reply_link( array_merge( $args, array( 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ) ?>
</div>
<div class="comment-text">
<cite><?php comment_author_link(); ?></cite>
<small><?php comment_date( 'F d, Y - G:i ' ); ?></small>
<div class="separator-line" style="margin-bottom:10px; margin-top:5px;"></div>
<?php if ($comment->comment_approved == '0') : ?>
<p><em><?php _e( 'Your comment is awaiting moderation.' ); ?></em></p>
<?php endif; ?>
<?php comment_text() ?>
</div>
<div class="clear"></div>
</div>
</li>
Dans mon type de message personnalisé php, j'ai:
<div id="tabs-3">
<?php comments_template(); ?>
</div>
La publication personnalisée affiche le contenu, mais ne montre ni commentaires ni forme de commentaire ... Des idées?
Avez-vous essayé d'ajouter une prise en charge des commentaires à votre type de message personnalisé, via add_post_type_support()
?
par exemple.
<?php
add_post_type_support( 'product', array( 'comments' ) );
?>
Si vous utilisez comme ça ça va marcher.
'supports' => array( 'title', 'editor', 'thumbnail', 'custom-fields', 'comments' )
Après cela, vous devez activer "Discussions" et "Commentaires" dans les options d'écran du support. Une fois que vous avez fait cela, vous pouvez activer/désactiver les commentaires pour chaque type de publication personnalisée.