- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想在 WooCommerce 上的评论表单中添加一个自定义字段,就像这张图片一样:
我只知道如何通过添加以下代码在 single-product-reviews.php 文件上创建一个新字段:
$comment_form['comment_field'] .= '<p class="comment-form-title"><label for="title">' . esc_html__( 'Review title', 'woocommerce' ) . ' <span class="required">*</span></label><input id="title" name="title" type="text" aria-required="true" required></input></p>';
但是,我怎样才能把这个保存到数据库中,我怎样才能把这个标题输出到评论内容之上呢?
编辑:我尝试了很多方法,直到通过在我的子主题的 functions.php 上编写这段代码来实现我想要的一些东西。
1) 在评论评论表单中添加自定义字段“评论标题”:
function add_review_title_field_on_comment_form() {
echo '<p class="comment-form-title uk-margin-top"><label for="title">' . __( 'Review title', 'text-domain' ) . '</label><input class="uk-input uk-width-large uk-display-block" type="text" name="title" id="title"/></p>';
}
add_action( 'comment_form_logged_in_after', 'add_review_title_field_on_comment_form' );
add_action( 'comment_form_after_fields', 'add_review_title_field_on_comment_form' );
2) 将该字段值保存在数据库的 wp_commentmeta 表中:
add_action( 'comment_post', 'instacraftcbd_review_title_save_comment' );
function instacraftcbd_review_title_save_comment( $comment_id ){
if( isset( $_POST['title'] ) )
update_comment_meta( $comment_id, 'title', esc_attr( $_POST['title'] ) );
}
3) 使用此方法检索该字段输出值:
var $title = get_comment_meta( $comment->comment_ID, "title", true );
echo $title;
现在唯一缺少的是,我怎样才能将该字段的输出放在评论文本或评论文本之前?
最佳答案
自己找到解决方案太好了,这是我正在寻找的答案,也许可以帮助你!
1) 转到父主题或子主题上的 functions.php,然后粘贴下面的代码以在评论评论表单上添加自定义字段“评论标题”:
function add_review_title_field_on_comment_form() {
echo '<p class="comment-form-title uk-margin-top"><label for="title">' . __( 'Review title', 'text-domain' ) . '</label><input class="uk-input uk-width-large uk-display-block" type="text" name="title" id="title"/></p>';
}
add_action( 'comment_form_logged_in_after', 'add_review_title_field_on_comment_form' );
add_action( 'comment_form_after_fields', 'add_review_title_field_on_comment_form' );
2) 通过在我们最后的代码上方添加此代码,将该字段值保存在数据库的 wp_commentmeta 表中:
add_action( 'comment_post', 'save_comment_review_title_field' );
function save_comment_review_title_field( $comment_id ){
if( isset( $_POST['title'] ) )
update_comment_meta( $comment_id, 'title', esc_attr( $_POST['title'] ) );
}
3) 如果您想检索该字段输出值,请使用以下代码:
var $title = get_comment_meta( $comment->comment_ID, "title", true );
echo $title;
注意:它仅适用于评论循环!
4) 要在每个评论文本之前添加该字段输出,您必须像这样在 functions.php 上创建一个新函数:
function get_review_title( $id ) {
$val = get_comment_meta( $id, "title", true );
$title = $val ? '<strong class="review-title">' . $val . '</strong>' : '';
return $title;
}
然后确保将下面的代码添加到该 WooCommerce 模板文件 review.php 或者您可以使用 woocommerce_review_before_comment_meta Hook ,但就我而言,我已经写了该代码:echo get_review_title( $comment->comment_ID );
就在
do_action( 'woocommerce_review_before_comment_meta', $comment );
希望对你有帮助!
关于php - 如何在 WooCommerce 评论表单上添加 "Review title"字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50633080/
TFS中有没有办法获取以下信息 审阅者审阅的文件列表 文件审阅者的历史记录 TFS 是否有内置功能? 最佳答案 目前 TFS 中没有这些内置功能。您可以添加用户语音 here ,TFS PM 将认真审
开始:上次提交二进制文件的日期:2013 年 9 月 19 日 应用内购买状态为“审核中”但应用状态为“等待审核”这是什么意思?这是正常的吗?感谢您的帮助。 最佳答案 是的,这很正常,apple 也会
奖杯是可以根据评论请求的某些方面授予用户的成就。我想知道这些方面是什么。 最佳答案 请参阅this博文解释: 通常是大而圆的数字(1000、2000 等),有时也称为里程表数字。 回文(例如 4166
我在Google Rich Snippets Tool中检查了我网站的Rich Snippets,但出现错误: The review has no reviewed item specified. 我
今天我开始为 做贡献 Wikimedia Gerrit community 在我的 Windows 10 (PC) 上使用 Git 和 GitHub 桌面。 首先我用 Pip 安装了 git-revi
当我的网页出现在 Google 搜索结果中时,我的网页的视觉星级评分已经消失(它曾经显示直到最近)。它曾经与页面一起显示。 我运行了结构化数据测试工具并得到了这个结果: “该评论没有指定名称的评论项目
我想从单个提交创建审查委员会审查。 当我使用 post-review 时,它会提交我的 repo 和 master 之间的所有差异。 我如何将其限制为特定的提交?还是特定提交中的文件? 最佳答案 事实
对于每一年,对于每一位员工,我想列出员工提交的审核状态,或者“未启动”,以防员工当年没有提交审核。 用文字表达这个问题有点困难,所以我会尝试通过举例来解释它: create table #employ
1、输入映射 通过parameterType指定输入参数的类型,可以是简单类型、pojo包装类、HashMap等 1、输入简单类型
简介 Code Review 不是为了去批斗某个 Coder,而是为了 Team 成员之间相互学习,加深成员对系统业务的理解,使团队成员的代码更加健壮,提早发现代码缺陷。Code Review 的工具
一、简介 一般的 code review 都是对代码有问题的地方进行标注,Upsource 也有这样的功能。但是 Upsource 可以通过像是聊天或者社区互动的模式,根据代码进行交流。当有人 rev
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
首先,我知道这个问题已经在stack overflowhere、here、here和in some other places中发布了好几次。 但是,我决定打开一个新线程(冒着被否决的风险),因为我认为
我创建了一个 Gerrit 草稿: git review -D 完成草稿后,如何创建代码审查以便最终将其 merge 到母版中? 如果我这样做: git-review 我得到这个输出: $ git r
我习惯了VSSConneXion ,并且喜欢“查看更改”功能,我可以在其中查看每个更改的文件并在查看时评论更改: 现在我正在努力适应 SubVersion 和 Tortoise。是否有类似的功能可用?
基于此处提到的所有步骤http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/ ,我创建了一个新的应用程序,上传了它
谷歌搜索和阅读审查委员会的文档(和窃听同事)到目前为止还没有解决这个问题。 我正在使用 Review Board (1.5) 进行代码审查。在进行命令行后审查时,当我删除文件(即 svn del)时,
最近,我使用Docker的Heroku Review Apps停止了构建。它们以前的行为符合预期,但是现在看来npm在PATH上找不到git。 我的第一个猜测是由于某种原因,我现在需要在git-alp
我正在开发一个大型开源社区使用的 gerrit 存储库。要 merge 补丁,我们不能只是推送它们,还需要对其进行审查。使用 git cli,我在本地提交补丁后使用“git review”来执行此操作
我正在开发一个大型开源社区使用的 gerrit 存储库。要 merge 补丁,我们不能只是推送它们,还需要对其进行审查。使用 git cli,我在本地提交补丁后使用“git review”来执行此操作
我是一名优秀的程序员,十分优秀!