2012-03-21 106 views
0

我有以下简码。我想要做的就是将此简码转换为侧栏区域,以便我可以运行体面的联系人窗口小部件。我搜索了一些并尝试了一些教程,但我无法正常工作。WordPress的:短代码

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

回答

1

过去的这个,你在侧边栏中想要

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

我想将特定的短代码转换为侧栏,因为短代码是“页面”,所以我需要使“页面”侧栏准备好,以便我可以运行该小部件。 – 2012-03-21 17:57:28

0

如果你希望你的短码来然后在侧栏工作你可以做以下事情。

在functions.php中添加以下

add_filter('widget_text', 'do_shortcode'); 

这将运行所有通过* do_shortcode *功能时,您文本部件的内容。

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

[contactform] 
+0

该模板没有侧边栏我正在尝试做的是创建[contactform]简码进入一个区域,使我可以将特定的小部件放置到此页面上 – 2012-03-22 02:47:39