テンプレートにショートコードを追加するためにdo_shortcode
関数を使用しています。しかし、私はそれらを表示する前にそのショートコードが存在するかどうかチェックしたいのです。
こんな感じ
If (shortcode_gallery_exists) {
echo do_shortcode('[gallery]');
}
誰かが私を手伝ってくれる?ありがとう
#23572 3.6 /に shortcode_exists() を導入。
これを行うには、次のコードを使用できると思います。
$content = get_the_content();
//write the begining of the shortcode
$shortcode = '[gallery';
$check = strpos($content,$shortcode);
if($check=== false) {
//Code to execute if there isn't the shortcode
} else {
//Code to execute if the shortcode is present
}
(警告:未テスト)
あなた自身の関数を作成することができます
// check the current post for the existence of a short code
function has_shortcode( $shortcode = NULL ) {
$post_to_check = get_post( get_the_ID() );
// false because we have to search through the post content first
$found = false;
// if no short code was provided, return false
if ( ! $shortcode ) {
return $found;
}
// check the post content for the short code
if ( stripos( $post_to_check->post_content, '[' . $shortcode) !== FALSE ) {
// we have found the short code
$found = TRUE;
}
// return our final results
return $found;
}
あなたのテンプレートの中には、
if(has_shortcode('[gallery]')) {
// perform actions here
}
これからのアイデア NetTutsリンク
これはどこかでオンラインで見つけましたそして使われるのは一度か二度です
//first we check for shortcode in the content
$tempContent = get_the_content();
$tempCheck = '[gallery';
$tempVerify = strpos($tempContent,$tempCheck);
if($tempVerify === false) {
//Your Shortcode not found do nothing ? you choose
} else {
echo do_shortcode('[gallery]');
}
。
(私は[ギャラリーが見つからない]を知っています..そうにしておきます)
これはループの中で使われるべきです ..
これが助けになれば幸いです、Sagive
WordPressでは、ショートコードが存在するかどうかを確認できます。
確認するには shortcode_exists()
functionを使います。ショートコードが存在する場合はtrueを返します。
<?php if ( shortcode_exists( $tag ) ) { } ?>
$tag
は確認したいショートコードの名前です。
<?php
if ( shortcode_exists( 'latest_post' ) ) {
// The short code exists.
}
?>