0

我是短代码创建的新手(我写了一个基本的短代码,用于将图形明星放置在我们的电影评论页面中)并且对下一步要做的事情有一个想法,我需要一些输入。

如前所述,我们会为我们添加的自定义字段中的电影进行评论并提供星级。问题是我们将每个评分显示在 3 个位置——评论、当前评论的侧边栏和当年所有评论的概要页面。问题是每个都是手动的,所以我们经常引入错误的数据。例如,一部电影可能评分为 5 星,但在键上打滑,它在纲要中是 4 星。

所以我想改变我们的“星星”短代码,从简单地显示图形星星改为将 URL 传递给审查,让它使用它在数据库中查找记录并从中提取评级。评论的 URL 在侧边栏和纲要中,因此它已经是流程的一部分。

我该怎么做呢?

谢谢。

4

1 回答 1

0

get_post_meta()函数从自定义字段中检索数据。例如,如果您的自定义字段被调用并包含一个从 0 到 5 的整数,那么您可以使用以下代码通过在您的帖子stars中放置一个短代码来插入星级:[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 范围的评级,但这应该不难。

于 2013-11-11T10:15:58.440 回答