0
編集: 私はこのクラスを正常に動作させることができました。 値の最後に[0]を使用しないことをお勧めします。どのように私はこのコードを改善することができますか?Wordpressで画像を関連付けるためのクラスを作成しようとしています
このクラスは、特定の投稿のすべてのカスタムキーを取得します。現在、関連する画像に使用しており、私は自分の投稿に「related_image」、「related_image_wide」、「image_alt_text」の3つのキーを定義しています。
EDIT 2: 私は最終的に私が望むように価値を得ることができました。私はこれがこれを見つけた誰にとっても役立つことを願っています。コードが更新されました。
class article {
private $alternative_text;
private $custom_fields = array();
public function __construct($post)
{
$val = array();
$custom_field_keys = get_post_custom_keys();
foreach ($custom_field_keys as $key => $value)
{
// Custom_fields["a"] gets the value of the custom field "a"
$val = get_post_custom_values($value);
$this->custom_fields[$value] = $val[0];
}
$this->alternative_text = $this->custom_fields["image_alt_text"];
}
public function relatedImage($type)
{
// Standard image to be shown with article
if($type == 'normal')
return $this->imageURL($this->custom_fields["related_image"]);
// Wide image to be shown with article.
if($type == 'wide')
return $this->imageURL($this->custom_fields["related_image_wide"]);
// Alternative image. Often used in article listing and not in main article
if($type == 'alt')
return $this->imageURL($this->custom_fields["related_image_alternative"]);
}
private function imageURL($imgPath)
{
return '<img src="' . get_option('home') . '/wp-content/uploads' . $imgPath .'" alt="' . $this->alternative_text . '" title="' . $this->alternative_text . '" />';
}
}
これは私が私のテンプレートコードで何をすべきかです:
//This is inside The Loop
$article = new article($post);
echo $article->relatedImage("normal");
が私を信頼Wordpress codex内のリンクあり、それは私が試した最初のものの一つでした:)しかし、それは動作しませんでした。しかし、私は今それを働かせました。 – Steven