是否可以从WordPress边栏发出帖子请求?
我想打开页面,需要通过POST
请求发送一些参数。但我发现侧边栏中的文本小部件中不允许FORM
标记,而不是JAVASCRIPT
或ONCLICK
语法。
这有什么办法可以实现这个目标吗?
由于
更新1
我在wordpress上的免费帐户。
答案 0 :(得分:1)
您是否希望避免编辑模板代码?
如果没有,那么你应该能够从你的Wordpress主题目录中打开sidebar.php,直接在那里打开它。
答案 1 :(得分:1)
您可能想要为此创建自己的插件和小部件。您可以在窗口小部件中输出表单和输入标记。
在下面的示例中,您可以在“小部件”功能中输出表单。例如,您可以在插件目录中创建一个目录,并将其命名为 foo ,然后创建一个名为foo.php的php文件,并使用类似于以下内容的代码:
<?php
/*
Plugin Name: Name Of The Plugin
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: A brief description of the Plugin.
Version: The Plugin's Version Number, e.g.: 1.0
Author: Name Of The Plugin Author
Author URI: http://URI_Of_The_Plugin_Author
License: A "Slug" license name e.g. GPL2
*/
/**
* Foo_Widget Class
*/
class Foo_Widget extends WP_Widget {
/** constructor */
function __construct() {
parent::WP_Widget( /* Base ID */'foo_widget', /* Name */'Foo_Widget', array( 'description' => 'A Foo Widget' ) );
}
/** @see WP_Widget::widget */
function widget( $args, $instance ) {
extract( $args );
$title = apply_filters( 'widget_title', $instance['title'] );
echo $before_widget;
if ( $title )
echo $before_title . $title . $after_title; ?>
<form action="" method="post">
<input type="text" name="mytext" />
<input type="text" name="result" value="<?php echo isset($_POST['mytext']) ? $_POST['mytext'] : ''; ?>" />
<input type="submit" name="submitbutton" value="Submit" /> </form>
<?php echo $after_widget;
}
/** @see WP_Widget::update */
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
return $instance;
}
/** @see WP_Widget::form */
function form( $instance ) {
if ( $instance ) {
$title = esc_attr( $instance[ 'title' ] );
}
else {
$title = __( 'New title', 'text_domain' );
}
?>
<p>
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" />
</p>
<?php
}
} // class Foo_Widget
// register Foo_Widget widget
add_action( 'widgets_init', create_function( '', 'register_widget("Foo_Widget");' ) );
?>