web-dev-qa-db-ja.com

ショートコードをphpに変換する方法

私はphpファイルの1つにショートコードを追加する必要があります(ヘッダphpファイルにハードコードされている検索バーコードを置き換えます)。どうすればヘッダーのphpファイルにショートコードを追加できますか?

これは私が見ているコードです:

<?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 } ?>

そして私は(mls用の)別のショートコード検索フォームでsearch-form-wrapを削除する必要があります。

編集:

これが私が対処しなければならないショートコードです:

[idx_search link = "###########" detailed_search = "off" destination = "ローカル" user_sorting = "off" location_search = "on" property_type_enabled = "on" theme = "hori_round_light" orientation = " horizo​​ntal "width =" 730 "title_font =" Arial "field_font =" Arial "border_style =" round "widget_drop_shadow =" off "background_color ="#ffffff "title_text_color ="#000000 "field_text_color ="#545454 "detailed_search_text_color ="#234c7a "submit_button_shine =" shine "submit_button_background ="#59cfeb "submit_button_text_color ="#000000 "]

1
damann

一般に、ショートコードをテンプレートファイルに直接挿入して実行することはお勧めできません。また、ショートコードが意図されているものでもありません。代わりに、他の PHP関数またはテンプレートタグ と同じように、ショートコードコールバックを使用してください。

たとえば、このショートコードをイメージしましょう。

add_shortcode('someshortocode', 'someshortocode_callback');
function someshortocode_callback( $atts = array(), $content = null ) {

    $output = "Echo!!!";

    return $output;

}

それから、これをする代わりに:

echo do_shortcode( '[someshortocode]' );

これをするべきです:

echo someshortocode_callback();

明らかに、ショートタグコールバックをテンプレートタグとして使用するには、この使用を可能にする方法でショートコードをコーディングする必要があります。そのため、不可能な場合があります(コールバックを直接使用できないショートコードは見つかりませんでした)。 、それは存在するかもしれません)。この場合、そしてこの場合に限って、私はdo_shortcode( '[someshortcode]' )を使います(実際には使いません)。

ショートコードはPHPコードを挿入できない場合に使用されるPHPプレースホルダーであることに注意してください。そのため、PHPスクリプトでそれらを使用するのは意味がありません。 。

4
cybmeta

これが使えます。

<?php echo do_shortcode('[Shortcode_goes_here]') ?>
1
Charles Xavier

テンプレートにショートコードを出力するには do_shortcode を使用します。

echo do_shortcode( '[theshortcode]' );
1
Milo