我有以下短代码。我想做的是将此短代码转换为侧边栏区域,以便我可以运行一个体面的联系人小部件。我用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');
?>
答案 0 :(得分:1)
过去这个你想要的边栏
<?php echo do_shortcode('[contactform']'); ?>
答案 1 :(得分:0)
如果您希望您的短代码在侧栏中工作,那么您可以执行以下操作。
在functions.php中添加以下内容
add_filter('widget_text', 'do_shortcode');
这将通过* do_shortcode *函数运行所有文本小部件的内容。
现在,您可以在侧边栏中添加新的文本小部件,并在其中使用短代码,就像您在后期编辑屏幕中一样。
[contactform]