I want to create custom design for the comments.
comments_template() will load the default \comments.php.
i have a file inside my plugin commentsnew.php how can i use this file for comments_template()?
file is getting loaded relative to theme directory.
apply_filters( 'comments_template', string $theme_template ) this completely overrides the template but don't want a complete override but apply only if used.
I want to create custom design for the comments.
comments_template() will load the default \comments.php.
i have a file inside my plugin commentsnew.php how can i use this file for comments_template()?
file is getting loaded relative to theme directory.
apply_filters( 'comments_template', string $theme_template ) this completely overrides the template but don't want a complete override but apply only if used.
plugin-development
wp-query
comments
comment-form
Share
Improve this question
edited Aug 29, 2019 at 18:57
asked Aug 29, 2019 at 18:05
user145078user1450782
Can you provide some context for why you would want to do this or the problem that this solves?
– Tom J Nowell
♦CommentedAug 29, 2019 at 18:24
@TomJNowell to have a review template for the custom post that is created inside a plugin
– user145078CommentedAug 29, 2019 at 18:38
Add a comment
|
1 Answer
1
Reset to default
1
You can use the comments_template filter to alter which file your CPT will use for comments.
function wpse_plugin_comment_template( $comment_template ) {
global $post;
if ( !( is_singular() && ( have_comments() || 'open' == $post->comment_status ) ) ) {
// leave the standard comments template for standard post types
return;
}
if($post->post_type == 'business'){ // assuming there is a post type called business
// This is where you would use your commentsnew.php, or review.php
return dirname(__FILE__) . '/review.php';
}
}
// throw this into your plugin or your functions.php file to define the custom comments template.
add_filter( "comments_template", "wpse_plugin_comment_template" );