こんにちわ、nayuta3510さん。
alt 属性なのに src 属性にショートコードを指定しているのですか?
これは何がしたいショートコードなのでしょうか?
ソースコードを拝見する限りでは、URL を return するだけのショートコードのようですが。
KUCKLUさん>
ご返信ありがとうございます。
こちらはテーマフォルダ内のファイルから画像URLを取得するショートコードを調べた際に実装してみたものです。
ですからURLをリターンするとか中身はよくわからなかったです。
URLをリターンするとか中身はよくわからなかったです。
この状況で実装するのは大変危険です。
ブログサイトなどを参考にするのはよいと思いますが、中身を理解した上で ( 対象のソースコードが何をしていて、どういう動きをするのか ) 実装しないと後々問題になる事があります。
※攻撃性のあるソースコードだった場合、大変ですよね?
話しは本題に戻しますが、実装したい内容は、テーマディレクトリ内の画像を貼り付け且つ alt 属性を指定したいであってますか?
相違ない場合は、以下のソースコードで実装可能だと思います。
※ 未テストです。
■ソースコード
function my_image_shortcode( $atts ) {
extract( shortcode_atts( array(
'src' => '',
'alt' => '',
), $atts ) );
$output = '';
$img_url = get_template_directory_uri() . $src;
if ( false !== wp_http_validate_url( $img_url ) && preg_match( '/\Ahttps?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+(\.gif|\.png|\.jpg|\.jpeg$)\z/i', $img_url ) ) {
$output = '<img src="' . $img_url . '" alt="' . esc_attr( $alt ) . '">';
}
return $output;
}
add_shortcode( 'myImg', 'my_image_shortcode' );
■使い方
[myImg src="/assets/img/hoge.jpg" alt="画像です"]
ご回答ありがとうございます。
実は昨日試しに
function.phpn内に
add_shortcode( ‘tp’, ‘shortcode_tp’ );
function shortcode_tp( $atts, $content = ” ) {
return get_template_directory_uri().$content;
}
のままで固定ページ内に
<img src=”[tp]/img/画像ファイル名[/tp]” alt=”あいうえお” title=”かきくけこ”/>
と入力して更新したら
サイトを表示させてデベロッパーツールで見てみたら
html内にalt属性が表示されていましたが
これはまずいのでしょうか?
html内にalt属性が表示されていましたが
これはまずいのでしょうか?
とくにまずいという事はありません。
僕がまずいと指摘させていただいたのは・・・
ブログサイトなどを参考にするのはよいと思いますが、中身を理解した上で ( 対象のソースコードが何をしていて、どういう動きをするのか ) 実装しないと後々問題になる事があります。
※攻撃性のあるソースコードだった場合、大変ですよね?
という部分になります。
どのように実装するかは、nayuta3510さんの好きに実装していただければと思います。