Пользовательская форма в блоге WordPress - PullRequest
0 голосов
/ 23 ноября 2010

Я хотел бы создать специальную форму для моего блога WordPress, которая берет адрес электронной почты пользователя, а затем добавляет его в базу данных. Я знаю, как написать форму и скрипт для хранения данных. Я не знаю, как бы я разместил его в блоге WordPress.

Есть ли плагины для этого типа вещей, или есть способ, которым я могу вручную добавить форму на страницу?

Это в основном окно регистрации для уведомлений.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 23 ноября 2010

Если вы используете больше, чем HTML, у вас возникнут проблемы с виджетом.После чего я бы порекомендовал вам создать виджет самостоятельно.

Вот код для пустого плагина.Добавьте / вызовите свой код в функции «виджета».

<?php
/*
Plugin Name: Blank Plugin
Plugin URI: http://www.example.com/plugins/blankPlugin/
Description: This is a plugin template
Author: Your Name
Version: 0.1
Author URI: http://www.example.com/about/
*/

class blankPlugin extends WP_Widget {

 function blankPlugin() {  // The widget construct. Initiating our plugin data.
  $widgetData = array( 'classname' => 'blankPlugin', 'description' => __( "A blank plugin widget" ) );
  $this->WP_Widget('blankPlugin', __('Blank Plugin'), $widgetData);
 } 

 function widget($args, $instance) { // Displays the widget on the screen.
  extract($args);
  echo $before_widget;
  echo $before_title . $instance['title'] . $after_title; 
  echo 'The amount is: '.$instance['amount'];
  echo $after_widget;
 }

 function update($new_instance, $old_instance) { // Updates the settings.
  return $new_instance;
 }

 function form($instance) { // The admin form. 
  $defaults = array( 'title' => 'Wichita', 'amount' => '45' );
  $instance = wp_parse_args($instance, $defaults); ?>
  <div id="blankPlugin-admin-panel">
   <p>
    <label for="<?php echo $this->get_field_id("title"); ?>">Widget title:</label>
    <input type="text" class="widefat" name="<?php echo $this->get_field_name("title"); ?>" id="<?php echo $this->get_field_id("title"); ?>" value="<?php echo $instance["title"]; ?>" />
   </p>
   <p>
    <label for="<?php echo $this->get_field_id("amount"); ?>">An amount:</label>
    <input type="text" class="widefat" name="<?php echo $this->get_field_name("amount"); ?>" id="<?php echo $this->get_field_id("amount"); ?>" value="<?php echo $instance["amount"]; ?>" />
   </p>
  </div>
<?php } 

} 

// Register the widget.
add_action('widgets_init', create_function('', 'return register_widget("blankPlugin");'));
?>

Для получения дополнительной информации ... (см. Также ссылки внизу страницы) http://codex.wordpress.org/Widgets_API#Developing_Widgets

0 голосов
/ 23 ноября 2010

вы можете использовать этот плагин WordPress http://wordpress.org/extend/plugins/contact-form-7/

или можете сделать на своей базе.

вы можете создать шаблон в папке вашей темы следующим образом: -

<?php
/*Template Name: some thing*/
//your dynamic stuff here

?>

и можете назначить этот шаблон вашей статической странице, которую вы можете создать из админ-панели WordPress. всякий раз, когда вы нажимаете на ссылку этой статической страницы, этот файл будет вызываться. Таким образом, вы можете обрабатывать все содержимое почты и т. д. Спасибо.

0 голосов
/ 23 ноября 2010

Вы можете просто добавить его с помощью текстового виджета, если ваша тема готова к виджету

Смотри под внешностью> виджеты Вы можете добавить HTML в текстовый виджет

...