J'utilise la fonction do_shortcode
pour ajouter un shortcode dans mon modèle. Mais je voudrais vérifier si ce shortcode existe avant de les afficher.
Je veux dire comme ça
If (shortcode_gallery_exists) {
echo do_shortcode('[gallery]');
}
Quelqu'un peut-il m'aider? Merci
# 23572 introduction shortcode_exists () dans 3.6.
Je pense que vous pourriez utiliser le code suivant pour cela:
$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
}
(Avertissement: non testé)
Vous pouvez créer votre propre fonction,
// 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;
}
Dans votre modèle, écrivez un conditionnel comme,
if(has_shortcode('[gallery]')) {
// perform actions here
}
Idée tirée de ce lien NetTuts
Trouvé cette ligne quelque part et utilisé est une ou deux fois
//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]');
}
.
(je sais que la [galerie manque le] .. le laisse comme ça)
Ceci devrait être utilisé à l'intérieur de la boucle ..
J'espère que cela vous aidera, Sagive
WordPress vous permet de vérifier si un shortcode existe ou non.
Pour le vérifier, vous pouvez utiliser shortcode_exists()
function. Il retourne vrai si le shortcode existe.
<?php if ( shortcode_exists( $tag ) ) { } ?>
Où $tag
est le nom du shortcode que vous voulez vérifier.
<?php
if ( shortcode_exists( 'latest_post' ) ) {
// The short code exists.
}
?>