我是短信代码创作的新手(我有一个基本的编写方式,用于在我们的电影评论的页面中放置图形星标),并且对接下来要做的事情有一个想法,我需要一些输入。
如前所述,我们会为我们添加的自定义字段中的电影进行评论并提供明星。问题是我们将每个评级显示在3个位置 - 评论,大多数当前评论的侧边栏以及本年度所有评论汇编的页面。问题是每个都是手动的,所以我们经常会引入不良数据。例如,一部电影可能会对5颗星进行评分,但在按键上会显示滑动,并且在简历中为4分。
所以我想改变我们的“星星”短代码,从简单地显示图形星,而不是传递给审查的URL,让它用它来查找数据库中的记录并从中提取评级。审核的URL位于侧栏和简历中,因此它已经是流程的一部分。
我将如何做到这一点?
感谢。
答案 0 :(得分:0)
get_post_meta()函数从自定义字段中检索数据。例如,如果您的自定义字段名为stars
且包含0到5之间的整数,那么您可以使用以下代码通过在帖子中放置[star-rating]
短代码来插入星级评分:
function insert_star_rating() {
$ratings = array('☆☆☆☆☆','★☆☆☆☆','★★☆☆☆','★★★☆☆','★★★★☆','★★★★★');
$score = intval(get_post_meta(get_the_ID(),'stars',true));
return '<span class="star-rating">'.$ratings[$score].'</span>';
}
add_shortcode('star-rating', 'insert_star_rating');
显然,您需要添加代码来处理0到5范围之外的缺失评级和评级,但这应该不难。