0

私はショートコードの作成に慣れていません (映画レビューのページ内にグラフィックスターを配置するために書いた基本的なものがあります)、次に何か入力が必要なアイデアがありました。

前述のように、追加したカスタム フィールドにある映画のレビューとスターの提供を行います。問題は、各評価が 3 つの場所 (レビュー、最新のレビューのサイドバー、および今年のすべてのレビューの概要のページ) に表示されていることです。問題は、それぞれが手動であるため、悪いデータが頻繁に導入されることです。たとえば、ある映画が 5 つ星と評価されていても、キーがずれていて、大要では 4 と評価されている場合があります。

そこで、「星」ショートコードを変更して、単純にグラフィカルな星を表示するのではなく、レビュー用の URL を渡し、それを使用してデータベース内のレコードを検索し、そこから評価を引き出すようにします。レビューの URL はサイドバーと概要にあるので、既にプロセスの一部です。

どうすればそれを行うことができますか?

ありがとう。

4

1 に答える 1

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 の範囲外の評価を処理するコードを追加する必要がありますが、それは難しくありません。

于 2013-11-11T10:15:58.440 に答える