Ktai Entry 作者です。
いわゆる Lightbox 系の表示をやらせたいのでしょうか? その場合は、附属ドキュメント「LightBox 用に、rel=”lightbox” 属性を追加する」を参考にしてください。
なお、既存の投稿には適用されないため、すでに投稿ずみのものは手動で修正する必要があります。
単純に target=”_blank” で新規ウィンドウ表示させたい場合も、上記テクニックが応用できます。
単純に target=”_blank” で新規ウィンドウ表示させたい場合も、上記テクニックが応用できます。
rel=”lightbox” を target=”_blank” にしたのですが、できませんでした…
2行目で、もとの a 要素に rel 属性があるかどうかのチェックをしているので、そこも target 属性のチェックに変更しないとだめですよ。
ただし、target 属性は空白で区切って複数持つことができませんから、target 属性があれば中身をごっそり変えてしまう必要があります。
function ke_add_target($html, $id, $size) {
if (preg_match('/target=([\'"])([^\\\\]*?(\\\\.[^\\1\\\\]*?)*)\\1/', $html, $match)) {
$html = str_replace($match[0], 'target="_blank"', $html);
} elseif (! preg_match('/rel=/', $html)) {
$html = str_replace('<a ', '<a target="_blank" ', $html);
}
return $html;
}
add_filter('image_link/ktai_entry.php', 'ke_add_target', 10, 3);
あと、target 属性は XHTML 1.0 Strict には存在しませんから、使用しているテーマの header.php にて、DTD 宣言を確認し、もし Strict だったら XHTML 1.0 Transitional に変更する必要があります。
んーダメでした… target=”_blank” が表示されません
ちなみに、wp-include/post-template.php で
return apply_filters( ‘wp_get_attachment_link’, “<a href=\”$url\” title=\”$post_title\” target=\”_blank\”>$link_text</a>”, $id, $size, $permalink, $icon );
と書いても target=”_blank” が表示されませんでした(泣)