J'ai besoin d'ajouter un shortcode dans l'un des fichiers php (en remplacement d'un code à barres de recherche codé en dur dans le fichier php d'en-tête). Comment ajouter un shortcode au fichier php en-tête?
C'est le code que je regarde:
<?php if ( (is_front_page()) && (of_get_option('g_search_box_id') == 'yes') ) { ?>
<div class="search-form-wrap hidden-phone" data-motopress-type="static" data-motopress-static-file="static/static-search.php">
<?php get_template_part("static/static-search"); ?>
</div>
<?php } ?>
et je dois supprimer le search-form-wrap avec un formulaire de recherche shortcode différent (pour mls).
MODIFIER:
Voici le shortcode que je dois traiter:
[idx_search link = "###########" detailed_search = "off" destination = "local" user_sorting = "off" location_search = "on" property_type_enabled = "on" theme = "hori_round_light" orientation = " horizontal "width =" 730 "title_font =" Arial "field_font =" Arial "border_style =" arrondi "widget_drop_shadow =" off "background_color =" # ffffff "title_text_color =" # 000000 "field_text_color =" # 545454 "detailed_search_color" "submit_button_shine =" shine "submit_button_background =" # 59cfeb "submit_button_text_color =" # 000000 "]
En général, insérer et exécuter des codes courts directement dans les fichiers de modèles n’est pas une bonne idée et ce n’est pas ce à quoi les codes courts sont destinés. Au lieu de cela, vous devez utiliser le rappel de code court comme n'importe quelle autre fonction PHP ou balise de modèle .
Par exemple, imaginons ce shortcode:
add_shortcode('someshortocode', 'someshortocode_callback');
function someshortocode_callback( $atts = array(), $content = null ) {
$output = "Echo!!!";
return $output;
}
Alors, au lieu de faire ceci:
echo do_shortcode( '[someshortocode]' );
Vous devriez faire ceci:
echo someshortocode_callback();
Évidemment, pour utiliser le rappel de shortcode en tant que balise de modèle, le shortcode doit être codé de manière à permettre cette utilisation, de sorte que cela risque de ne pas être possible (bien que je n’aie jamais trouvé de shortcode ne permettant pas l’utilisation directe du rappel , ça peut exister). Dans ce cas, et seulement dans ce cas, j'utiliserais do_shortcode( '[someshortcode]' )
(je ne l'aurais jamais vraiment utilisé).
Notez que les shortcodes sont des espaces réservés PHP à utiliser lorsque le code PHP ne peut pas être inséré, c'est pourquoi il n'a aucun sens de les utiliser dans les scripts PHP .
Vous pouvez l'utiliser.
<?php echo do_shortcode('[Shortcode_goes_here]') ?>
Utilisez do_shortcode
pour générer un shortcode dans votre modèle.
echo do_shortcode( '[theshortcode]' );