2015-08-04 2 views
1

Я использую подключаемые модули электронной почты. Мне нужна эта всплывающая страница вызова плагина. Я не мог найти, как это сделать. Если вы можете помочь, я буду очень рад. Надеюсь, кто-то может помочь :( - это ошибка, которую я получаю при вызове страницы: Неустранимая ошибка: класс WP_Widget не найден в C: \ wamp \ www \ wp-content \ plugins \ email-subscribers \ classes \ es -register.php на линии 171Wordpress call plugin popup внутри

Мой код;..

<?php 
class es_cls_registerhook 
{ 
    public static function es_activation() 
    { 
     global $wpdb; 

     add_option('email-subscribers', "1.0"); 

     // Plugin tables 
     $array_tables_to_plugin = array('es_emaillist','es_sentdetails','es_deliverreport','es_pluginconfig'); 
     $errors = array(); 

     // loading the sql file, load it and separate the queries 
     $sql_file = ES_DIR.'sql'.DS.'es-createdb.sql'; 
     $prefix = $wpdb->prefix; 
     $handle = fopen($sql_file, 'r'); 
     $query = fread($handle, filesize($sql_file)); 
     fclose($handle); 
     $query=str_replace('CREATE TABLE IF NOT EXISTS `','CREATE TABLE IF NOT EXISTS `'.$prefix, $query); 
     $queries=explode('-- SQLQUERY ---', $query); 

     // run the queries one by one 
     $has_errors = false; 
     foreach($queries as $qry) 
     { 
      $wpdb->query($qry); 
     } 

     // list the tables that haven't been created 
     $missingtables=array(); 
     foreach($array_tables_to_plugin as $table_name) 
     { 
      if(strtoupper($wpdb->get_var("SHOW TABLES like '". $prefix.$table_name . "'")) != strtoupper($prefix.$table_name)) 
      { 
       $missingtables[]=$prefix.$table_name; 
      } 
     } 

     // add error in to array variable 
     if($missingtables) 
     { 
      $errors[] = __('These tables could not be created on installation ' . implode(', ',$missingtables), ES_TDOMAIN); 
      $has_errors=true; 
     } 

     // if error call wp_die() 
     if($has_errors) 
     { 
      wp_die(__($errors[0] , ES_TDOMAIN)); 
      return false; 
     } 
     else 
     { 
      es_cls_default::es_pluginconfig_default(); 
      es_cls_default::es_subscriber_default(); 
      es_cls_default::es_template_default(); 
      es_cls_default::es_notifications_default(); 
     } 
     return true; 
    } 

    public static function es_deactivation() 
    { 
     // do not generate any output here 
    } 

    public static function es_admin_option() 
    { 
     // do not generate any output here 
    } 

    public static function es_adminmenu() 
    { 
     $es_c_rolesandcapabilities = get_option('es_c_rolesandcapabilities', 'norecord'); 
     if($es_c_rolesandcapabilities == 'norecord' || $es_c_rolesandcapabilities == "") 
     { 
      $es_roles_subscriber = "manage_options"; 
      $es_roles_mail = "manage_options"; 
      $es_roles_notification = "manage_options"; 
      $es_roles_sendmail = "manage_options"; 
      $es_roles_setting = "manage_options"; 
      $es_roles_sentmail = "manage_options"; 
      $es_roles_help = "manage_options"; 
     } 
     else 
     { 
      $es_roles_subscriber = $es_c_rolesandcapabilities['es_roles_subscriber']; 
      $es_roles_mail = $es_c_rolesandcapabilities['es_roles_mail']; 
      $es_roles_notification = $es_c_rolesandcapabilities['es_roles_notification']; 
      $es_roles_sendmail = $es_c_rolesandcapabilities['es_roles_sendmail']; 
      $es_roles_setting = $es_c_rolesandcapabilities['es_roles_setting']; 
      $es_roles_sentmail = $es_c_rolesandcapabilities['es_roles_sentmail']; 
      $es_roles_help = $es_c_rolesandcapabilities['es_roles_help']; 
     } 

     add_menu_page(__('Email Subscriber', ES_TDOMAIN), 
      __('Email Subscriber', ES_TDOMAIN), 'admin_dashboard', 'email-subscribers', 'es_admin_option', ES_URL.'images/mail.png', 51); 

     add_submenu_page('email-subscribers', __('Subscribers', ES_TDOMAIN), 
      __('Subscribers', ES_TDOMAIN), $es_roles_subscriber, 'es-view-subscribers', array('es_cls_intermediate', 'es_subscribers')); 

     add_submenu_page('email-subscribers', __('Compose', ES_TDOMAIN), 
      __('Compose', ES_TDOMAIN), $es_roles_mail, 'es-compose', array('es_cls_intermediate', 'es_compose')); 

     add_submenu_page('email-subscribers', __('Notification', ES_TDOMAIN), 
      __('Notification', ES_TDOMAIN), $es_roles_notification, 'es-notification', array('es_cls_intermediate', 'es_notification')); 

     add_submenu_page('email-subscribers', __('Send Email', ES_TDOMAIN), 
      __('Send Email', ES_TDOMAIN), $es_roles_sendmail, 'es-sendemail', array('es_cls_intermediate', 'es_sendemail')); 

     add_submenu_page('email-subscribers', __('Settings', ES_TDOMAIN), 
      __('Settings', ES_TDOMAIN), $es_roles_setting, 'es-settings', array('es_cls_intermediate', 'es_settings')); 

     add_submenu_page('email-subscribers', __('Roles', ES_TDOMAIN), 
      __('Roles', ES_TDOMAIN), 'administrator', 'es-roles', array('es_cls_intermediate', 'es_roles'));  

     add_submenu_page('email-subscribers', __('Sent Mails', ES_TDOMAIN), 
      __('Sent Mails', ES_TDOMAIN), $es_roles_sentmail, 'es-sentmail', array('es_cls_intermediate', 'es_sentmail')); 

     add_submenu_page('email-subscribers', __('Help & Info', ES_TDOMAIN), 
      __('Help & Info', ES_TDOMAIN), $es_roles_help, 'es-general-information', array('es_cls_intermediate', 'es_information')); 

    } 

    public static function es_widget_loading() 
    { 
     register_widget('es_widget_register'); 
    } 
} 

function es_sync_registereduser($user_id) 
{   
    $es_c_emailsubscribers = get_option('es_c_emailsubscribers', 'norecord'); 
    if($es_c_emailsubscribers == 'norecord' || $es_c_emailsubscribers == "") 
    { 
     // No action is required 
    } 
    else 
    { 
     if(($es_c_emailsubscribers['es_registered'] == "YES") && ($user_id <> "")) 
     { 
      $es_registered = $es_c_emailsubscribers['es_registered']; 
      $es_registered_group = $es_c_emailsubscribers['es_registered_group']; 

      $user_info = get_userdata($user_id); 
      $user_firstname = $user_info->user_firstname; 
      if($user_firstname == "") 
      { 
       $user_firstname = $user_info->user_login; 
      } 
      $user_mail = $user_info->user_email; 

      $form['es_email_name'] = $user_firstname; 
      $form['es_email_mail'] = $user_mail; 
      $form['es_email_group'] = $es_c_emailsubscribers['es_registered_group']; 
      $form['es_email_status'] = "Confirmed"; 
      $action = es_cls_dbquery::es_view_subscriber_ins($form, "insert"); 
      if($action == "sus") 
      { 
       //Inserted successfully. Below 3 line of code will send WELCOME email to subscribers. 
       $subscribers = array(); 
       $subscribers = es_cls_dbquery::es_view_subscriber_one($user_mail); 
       es_cls_sendmail::es_sendmail("welcome", $template = 0, $subscribers, "welcome", 0); 
      } 
     } 
    } 
} 

class es_widget_register extends WP_Widget 
{ 
    function __construct() 
    { 
     $widget_ops = array('classname' => 'widget_text elp-widget', 'description' => __(ES_PLUGIN_DISPLAY, ES_TDOMAIN), ES_PLUGIN_NAME); 
     parent::__construct(ES_PLUGIN_NAME, __(ES_PLUGIN_DISPLAY, ES_TDOMAIN), $widget_ops); 
    } 

    function widget($args, $instance) 
    { 
     extract($args, EXTR_SKIP); 

     $es_title = apply_filters('widget_title', empty($instance['es_title']) ? '' : $instance['es_title'], $instance, $this->id_base); 
     $es_desc = $instance['es_desc']; 
     $es_name = $instance['es_name']; 
     $es_group = $instance['es_group']; 
     $es_category = $instance['es_category']; 

     echo $args['before_widget']; 
     if (! empty($es_title)) 
     { 
      echo $args['before_title'] . $es_title . $args['after_title']; 
     } 
     // display widget method 
     $url = home_url(); 

     global $es_includes; 
     if (!isset($es_includes) || $es_includes !== true) 
     { 
      $es_includes = true; 
      ?> 
      <link rel="stylesheet" media="screen" type="text/css" href="<?php echo ES_URL; ?>widget/es-widget.css" /> 
      <?php 
     } 
     ?> 
     <script language="javascript" type="text/javascript" src="<?php echo ES_URL; ?>widget/es-widget.js"></script> 
     <div> 
      <?php if($es_desc <> "") { ?> 

      <?php } ?> 
      <div class="es_msg"><span id="es_msg"></span></div> 
      <?php if($es_name == "YES") { ?> 
      <div class="es_lablebox"><?php _e('Name', ES_TDOMAIN); ?></div> 
      <div class="es_textbox"> 
       <input class="es_textbox_class" name="es_txt_name" id="es_txt_name" value="" maxlength="225" type="text"> 
      </div> 

      <div class="es_lablebox">Kategori</div> 
      <div class="es_textbox"> 
       <select name="cb" id="cb" class="es_textbox_class"> 
       <option value="Demiryolu Ulaşım" selected="selected">Demiryolu Ulaşım</option> 
       <option value="Denizyolu Ulaşım">Denizyolu Ulaşım</option> 
       <option value="Hava Ulaşım">Hava Ulaşım</option> 
       <option value="Karayolu Ulaşım">Karayolu Ulaşım</option> 
       <option value="Lojistik">Lojistik</option> 
       <option value="Otomotiv">Otomotiv</option> 
       </select> 
      </div> 


      <?php } ?> 
      <div class="es_lablebox"><?php _e('Email *', ES_TDOMAIN); ?></div> 
      <div class="es_textbox"> 
       <input class="es_textbox_class" name="es_txt_email" id="es_txt_email" onkeypress="if(event.keyCode==13) es_submit_page('<?php echo $url; ?>')" value="" maxlength="225" type="text"> 
      </div> 
      <div class="es_button"> 
       <input class="es_textbox_button" name="es_txt_button" id="es_txt_button" onClick="return es_submit_page('<?php echo $url; ?>')" value="<?php _e('Subscribe', ES_TDOMAIN); ?>" type="button"> 
      </div> 
      <?php if($es_name != "YES") { ?> 
       <input name="es_txt_name" id="es_txt_name" value="" type="hidden"> 
      <?php } ?> 
      <input name="es_txt_group" id="es_txt_group" value="<?php echo $es_group; ?>" type="hidden"> 
     </div> 
     <?php 
     echo $args['after_widget']; 
    } 

    function update($new_instance, $old_instance) 
    { 
     $instance    = $old_instance; 
     $instance['es_title'] = (! empty($new_instance['es_title'])) ? strip_tags($new_instance['es_title']) : ''; 
     $instance['es_desc'] = (! empty($new_instance['es_desc'])) ? strip_tags($new_instance['es_desc']) : ''; 
     $instance['es_name'] = (! empty($new_instance['es_name'])) ? strip_tags($new_instance['es_name']) : ''; 
     $instance['es_group'] = (! empty($new_instance['es_group'])) ? strip_tags($new_instance['es_group']) : ''; 
     $instance['es_category'] = (! empty($new_instance['es_category'])) ? strip_tags($new_instance['es_category']) : ''; 
     return $instance; 
    } 

    function form($instance) 
    { 
     $defaults = array(
      'es_title' => '', 
      'es_desc' => '', 
      'es_name' => '', 
      'es_group' => '', 
      'es_category' => '', 
     ); 
     $instance  = wp_parse_args((array) $instance, $defaults); 
     $es_title  = $instance['es_title']; 
     $es_desc  = $instance['es_desc']; 
     $es_name  = $instance['es_name']; 
     $es_group  = $instance['es_group']; 
     $es_category = $instance['es_category']; 
     ?> 
     <p> 
      <label for="<?php echo $this->get_field_id('es_title'); ?>"><?php _e('Widget Title', ES_TDOMAIN); ?></label> 
      <input class="widefat" id="<?php echo $this->get_field_id('es_title'); ?>" name="<?php echo $this->get_field_name('es_title'); ?>" type="text" value="<?php echo $es_title; ?>" /> 
     </p> 
     <p> 
      <label for="<?php echo $this->get_field_id('es_name'); ?>"><?php _e('Display Name Field', ES_TDOMAIN); ?></label> 
      <select class="widefat" id="<?php echo $this->get_field_id('es_name'); ?>" name="<?php echo $this->get_field_name('es_name'); ?>"> 
       <option value="YES" <?php $this->es_selected($es_name == 'YES'); ?>>YES</option> 
       <option value="NO" <?php $this->es_selected($es_name == 'NO'); ?>>NO</option> 
      </select> 
     </p> 
     <p> 
      <label for="<?php echo $this->get_field_id('es_desc'); ?>"><?php _e('Short Description', ES_TDOMAIN); ?></label> 
      <input class="widefat" id="<?php echo $this->get_field_id('es_desc'); ?>" name="<?php echo $this->get_field_name('es_desc'); ?>" type="text" value="<?php echo $es_desc; ?>" /> 
      <?php _e('Short description about your subscription form.', ES_TDOMAIN); ?> 
     </p> 
     <p> 
      <label for="<?php echo $this->get_field_id('es_group'); ?>"><?php _e('Subscriber Group', ES_TDOMAIN); ?></label> 
      <input class="widefat" id="<?php echo $this->get_field_id('es_group'); ?>" name="<?php echo $this->get_field_name('es_group'); ?>" type="text" value="<?php echo $es_group; ?>" /> 
     </p> 
     <?php 
    } 

    function es_selected($var) 
    { 
     if ($var==1 || $var==true) 
     { 
      echo 'selected="selected"'; 
     } 
    } 
} 
?> 
+0

Какая версия wp вы используете? – Mihai

+0

Я использую версию 4.2.3-tr_TR – inomino

ответ

0

Похоже разбитого установки WordPress для меня для отладки, вы можете попытаться включить wp-includes/widget.php в файл (es-register.php)

Плагин отлично работает для меня (4.2.3)!

+0

Мне нужно показать всплывающее окно внутри этого плагина – inomino

+0

Что вы подразумеваете под «всплывающей страницей»? Вы изменили исходный плагин? Я думаю, вы должны попытаться заставить плагин работать, прежде чем изменять его. – luklapp