0

私は次のショートコードを持っています。私がやりたいのは、このショートコードをサイドバー領域に変えて、まともな連絡先ウィジェットを実行できるようにすることです。私はグーグルでいくつかのチュートリアルを試しましたが、動作させることができません。

Index.php

<?php
                $classes = '';
                if (strtolower($menuItem->title) == $precision_contact_page) {
            ?>
            <div id="<?php echo strtolower($menuItem->title); ?>scroller">
            <?php
                $page_data = get_page($menuItem->page_id);
                echo do_shortcode($page_data->post_content);
            ?>

Functions.php:

    //contactform shortcode
    function contactform_shortcode( $atts, $content = null ) {
        extract( shortcode_atts( array(
            'class' => 'content'
        ), $atts ) );

        $returncontent = '<div class="' . esc_attr($class) . '">';
        $returncontent .= '<a href="#" id="info" class="open">ContactInformation</a>
                <h5>Get In Touch</h5><div id="contactform">
                <div id="response"></div>
                <form id="precision-contact-form" method="POST" action="" class="form">
                    <div id="main">
                        <p class="name">
                            <input type="text" name="uname" id="uname" />
                            <label for="uname" class="overlabel">Name</label>
                        </p>
                        <p class="email">
                            <input type="text" name="uemail" id="uemail" />
                            <label for="uemail" class="overlabel">E-mail</label>
                        </p>
                        <p class="text">
                            <textarea name="ucomments" id="ucomments" ></textarea>
                        </p>
                        <p class="submit">
                            <button type="submit" name="submit" id="submit" class="graybutton">Send Email</button>
                        </p>
                    </div><!--end main-->
                </form>
            </div><!--end contact form-->';
        $returncontent .= '</div>';
        return $returncontent;
    }
    add_shortcode('contactform', 'contactform_shortcode');
?>
4

2 に答える 2

1

サイドバーであなたが望むところにこれを過ぎて

 <?php echo do_shortcode('[contactform']'); ?>
于 2012-03-21T09:09:22.347 に答える
0

ショートコードをサイドバーで機能させたい場合は、次のようにすることができます。

Functions.phpに以下を追加します

add_filter('widget_text', 'do_shortcode');

これにより、*do_shortcode*関数を介してすべてのテキストウィジェットのコンテンツが実行されます。

これで、投稿編集画面にいるかのように、サイドバーに新しいテキストウィジェットを追加し、その中でショートコードを使用できます。

[contactform]
于 2012-03-21T21:03:14.750 に答える