WordPressに関する情報や技術紹介です

Hình ảnh hiển thị trong Custom Template trường plug-in

"Tiêu bản Fields Custom" là hữu ích vì bạn có thể thiết lập các lĩnh vực đầu vào và sử dụng các plug-in trước.

Trong bối cảnh đó

[field1]
type = file

という設定があります。

今回、ある案件で画像用として項目が欲しかったので上記の設定を行いました。
実際に画像をアップロードすると、[field1]の値には登録時のidが入るみたいなので利用する際は以下のようにすれば良いです。

// 画像のhtmlを出力
echo wp_get_attachment_image(post_custom('field1'));

ただし、これだとalt属性やtitle属性にファイル名が入るので、そのあたりを自分で設定したい場合は以下のような関数をfunctions.phpなんかに書いておくと自由に設定できるかと。

function isp_get_attachment_image($attachment_id, $size='thumbnail', $title='', $alt='', $icon=false) {
	$image = wp_get_attachment_image($attachment_id, $size, $icon);
	if($title != '') {
		$image = preg_replace(array('/title=".+?"/', '/alt=".+?"/'), array('title="'.$title.'"', 'alt="'.$title.'"'), $image);
	}
	if($alt != '') {
		$image = preg_replace('/alt=".*"/', 'alt="'.$alt.'"', $image);
	}

	return $image;
}

上記関数だとtitle属性のみがある場合はalt属性もtitleに合わせます。
使う場合は、

// フルサイズで画像の呼び出し
echo isp_get_attachment_image(post_custom('field1'), 'full', 'タイトル属性'));
トラックバックURL
  • ヘッドココロ さん:
    2011/4/18 月曜日 20:13:02

    こんにちは。
    はじめまして!

    素敵なコードだと思いました。
    早速利用させていただきたいと思います。

    1点、『フルサイズで画像の呼び出し』で書かれています

    ↓↓↓
    ‘タイトル属性’についても、カスタムフィールドで呼び出せるよう
    この部分にもカスタムフィールを設定したいのですがうまくいきません。


    ID, 'タイトル属性', true);')); ?>

    としているのですが、エラーとなってしまいます。

    isp_get_attachment_imageのなかで、カスタムフィールドを利用する方法について、よろしければご教授いただけませんでしょうか。

    宜しくお願い致します。

  • admin さん:
    2011/4/19 火曜日 08:52:18

    >ヘッドココロさん
    ご利用いただきありがとうございます。

    > タイトル属性’についても、カスタムフィールドで呼び出せるよう
    > この部分にもカスタムフィールを設定したいのですがうまくいきません。

    タイトル属性をカスタムフィールドから取りたいという事でしょうか?

    post_custom(‘key’) でカスタムフィールドの値が取れるわけですから、下のような感じで良いのではないでしょうか?

    echo isp_get_attachment_image(post_custom(‘field1′), ‘full’, post_custom(‘field2′)));

  • ヘッドココロ さん:
    2011/4/19 火曜日 20:55:08

    ありがとうございました!

    ご教授いただいたもので実現できました。

    echo isp_get_attachment_image(get_post_meta($post->ID,”field1″,true),’full’,post_custom(‘field2′));

    このようにして使わせていただいております。

    素晴らしいブログ記事ありがとうございます。

    本当に勉強になりました。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ページTOPに戻る