Чтобы ваш виджет работал, вы создадите класс для вашего виджета, который расширяет класс WP_Widget.Пример ниже:
class My_Widget extends WP_Widget
{
function My_Widget()
{
$this->WP_Widget( false, __( 'My Widget', 'my_widget_i18n') );
}
/* This is where the widget content is printed. */
function widget( $args, $instance )
{
extract( $args );
$title = empty( $instance[ 'title' ] ) ? ' ' : apply_filters( 'widget_title', $instance[ 'title'] );
echo $before_widget;
if( !empty( $title ) )
echo $before_title . $title . $after_title;
echo '<a href="http://mysite.com/my_plugin_register">My Form</a>';
echo $after_widget;
}
/* Use this to update any widget options */
function update( $new_instance, $old_instance)
{
$instance = $old_instance;
$instance[ 'title' ] = strip_tags( $new_instance[ 'title' ] );
return $instance;
}
/* Use this to create the form for the widget options */
function form( $instance )
{
$instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
$title = strip_tags( $instance[ 'title' ] );
echo '<p><label for="' . $this->get_field_id( 'title' ) . '">' . __( 'Title', 'events_calendar' ) . ': <input class="widefat" id="' . $this->get_field_id( 'title' ) . '" name="' . $this->get_field_name( 'title' ) . '" type="text" value="' . attribute_escape( $title ) . '" /></label></p>';
}
}
Дополнительную информацию о WP_Widget можно найти на странице API виджетов
Чтобы создать свою страницу, вы должны использовать шорткод и поставить формув функции для этого.
/* This will write the form that you need to right */
function my_shortcode( $attrs )
{
?>
<form>
<input type="text" />
<input type="submit" />
</form>
<?php
}
add_shortcode( 'my_shortcode', 'my_shortcode' );
Затем в панели управления Wordpress создайте страницу с слагом 'my_plugin_register' и добавьте к ней следующее содержимое
[my_shortcode]
Вот страница API шорткода для получения дополнительной информации.