php - 在 wordpress 中自定义 comment_form() 和 comments.php
问题描述
对于我的一生,我似乎找不到任何可靠或有效的来源。我正在处理的当前主题没有 comments.php 文件。我希望能够自定义评论布局,并在使用 comments_template() 调用它时查看。但它似乎转到了我找不到的默认模板。我已经尝试使用来自 2020 主题的 comments.php,但它会引发大量错误并使我的网站出错。
我希望能够找到 comments_template() 正在调用的文件并对其进行编辑。或者更具体地说是 comments_form()。
解决方案
尝试将此代码用作您的comments.php
文件。这是一个非常简单的评论模板,可以帮助您入门,并带有一些评论。该代码取自 Zac Gordon 的课程。您应该进行替换并搜索 wphierarchy 并将其更改为您的主题 slug。
<?php
if ( post_password_required() ) {
return;
}
?>
<div id="comments" class="comments-area">
<?php
// You can start editing here -- including this comment!
if ( have_comments() ) : ?>
<h2 class="comments-title">
<?php
printf( // WPCS: XSS OK.
esc_html( _nx( 'One thought on “%2$s”', '%1$s thoughts on “%2$s”', get_comments_number(), 'comments title', 'wphierarchy' ) ),
esc_html( _nx( 'One thought on “%2$s”', '%1$s thoughts on “%2$s”', get_comments_number(), 'comments title', 'wphierarchy' ) ),
number_format_i18n( get_comments_number() ),
'<span>' . get_the_title() . '</span>'
);
?>
</h2><!-- .comments-title -->
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>
<nav id="comment-nav-above" class="navigation comment-navigation" role="navigation">
<h2 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>
<h2 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>
<div class="nav-links">
<div class="nav-previous"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>
<div class="nav-previous"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>
</div><!-- .nav-links -->
</nav><!-- #comment-nav-above -->
<?php endif; // Check for comment navigation. ?>
<ol class="comment-list">
<?php
wp_list_comments( array(
'style' => 'ol',
'short_ping' => true,
) );
?>
</ol><!-- .comment-list -->
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>
<nav id="comment-nav-below" class="navigation comment-navigation" role="navigation">
<h2 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>
<h2 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>
<div class="nav-links">
<div class="nav-previous"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>
<div class="nav-previous"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>
</div><!-- .nav-links -->
</nav><!-- #comment-nav-below -->
<?php
endif; // Check for comment navigation.
endif; // Check for have_comments().
// If comments are closed and there are comments, let's leave a little note
if ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>
<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>
<?php
endif;
comment_form();
?>
</div><!-- #comments -->
推荐阅读
- mysql - Flutter dart 不是常量表达式,意外的内核标记错误
- node.js - 私有 Linux 主机上的 Node.js 应用程序
- java - 如何将参数传递给已经运行的 java 程序
- regex - 如何在 RegEx 下方放置条件?
- c++ - 0xC0000005:访问冲突读取位置0x0000000000000008
- android - 有没有办法从谷歌地图中删除图标和标签,并为地点添加自定义图标和标签?
- admin-on-rest - 如何在 Edit 中提供自定义重定向到 SimpleForm?
- c# - 在一个命令中创建多个 sql 查询
- android - Android - 获取用户手机的国际电话号码
- android - 获取设备总内部存储器大小