Wordpress:短代码

时间:2012-03-21 06:18:45

标签: wordpress widget wordpress-plugin shortcode

我有以下短代码。我想做的是将此短代码转换为侧边栏区域,以便我可以运行一个体面的联系人小部件。我用Google搜索并尝试了一些教程,但我无法使其正常工作。

的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');
?>

2 个答案:

答案 0 :(得分:1)

过去这个你想要的边栏

 <?php echo do_shortcode('[contactform']'); ?>

答案 1 :(得分:0)

如果您希望您的短代码在侧栏中工作,那么您可以执行以下操作。

在functions.php中

添加以下内容

add_filter('widget_text', 'do_shortcode');

这将通过* do_shortcode *函数运行所有文本小部件的内容。

现在,您可以在侧边栏中添加新的文本小部件,并在其中使用短代码,就像您在后期编辑屏幕中一样。

[contactform]