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.
- Can you provide some context for why you would want to do this or the problem that this solves? – Tom J Nowell ♦ Commented Aug 29, 2019 at 18:24
- @TomJNowell to have a review template for the custom post that is created inside a plugin – user145078 Commented Aug 29, 2019 at 18:38
1 Answer
Reset to default 1You 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" );
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745201139a4616330.html
评论列表(0条)