【问题标题】:Wordpress: ShortcodesWordPress:简码
【发布时间】:2012-03-21 06:18:44
【问题描述】:

我有以下简码。我想做的是把这个短代码变成一个侧边栏区域,这样我就可以运行一个像样的联系人小部件。我已经用谷歌搜索并尝试了一些教程,但我无法让它工作。

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

函数.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');
?>

【问题讨论】:

    标签: widget wordpress shortcode


    【解决方案1】:

    在侧边栏中你想要的地方过去

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

    【讨论】:

    • 我想将特定的短代码变成一个侧边栏,因为短代码是“页面”,所以我需要准备好“页面”侧边栏,以便我可以运行小部件。
    【解决方案2】:

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

    在functions.php中添加以下内容

    add_filter('widget_text', 'do_shortcode');
    

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

    您现在可以向侧边栏添加一个新的文本小部件并在其中使用您的简码,就像您在帖子编辑屏幕中一样。

    [contactform]
    

    【讨论】:

    • 模板没有侧边栏我想要做的是将 [contactform] 短代码创建到一个区域,使我能够在此页面上放置特定的小部件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多