我的目标是为我的主题添加一个五星评级系统。我读到有一个函数wp_star_rating
在里面wp-admin/includes/template.php
在第2121行,我一直在尝试使用它进行评级。我正在使用WP 4.0。只是使用wp_star_rating()
在我的主题内容中。仅php返回:
Fatal error: Call to undefined function wp_star_rating() in [LOCALHOST URI]\\content.php on line 12
在我的主题内容中。php,我正在尝试使用wp\\u star\\u rating()。如果我在主题的函数中重新声明wp\\u star\\u rating()。php的内容是可以工作的,但当我转到管理面板时,我得到了一个错误(很明显),我无法重新声明函数。
除了重新定义函数之外,我还尝试了(在我的主题的functions.php中):
if( !function_exists(\'wp_star_rating\') ){
require admin_url() . \'includes/template.php\';
}
我知道这不起作用,因为它不喜欢完整的url。
我尝试的唯一一件部分有效的事情(显示在前端,但在后端出错):include \'/wp-admin/includes/template.php\';
So the question is:如何在主题内容中使用wp\\u star\\u rating()。php文件?或者如何将其纳入主题?
我已经有了其他的一切,我肯定有一个简单的解决方案我错过了,但经过几天的搜索,我没有找到太多的帮助。我真的负担不起把所有的时间都花在这个问题上。
最合适的回答,由SO网友:Pat J 整理而成
而不是重新定义wp_star_rating()
对于前端,您应该能够只使用内置功能。
从Codex page for wp_star_rating()
:
为了在前端使用此功能,your template must include the wp-admin/includes/template.php
file and enqueue the appropriate dashicons CSS font information.
(重点矿山)
中还提供了代码示例Notes 法典页的第节。
Edit
如果你
Fatal error: Call to undefined function wp_star_rating()
消息,这意味着您尚未包含
wp-admin/includes/template.php
在您的文件中。尝试在调用之前的某个位置添加此代码段
wp_star_rating()
:
require_once( ABSPATH . \'wp-admin/includes/template.php\' );
应该允许您使用
wp_star_rating()
在前端代码中。