דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. register_activation_hook בפלאגין - לא עובד

register_activation_hook בפלאגין - לא עובד

מתוזמן נעוץ נעול הועבר תכנות
2 פוסטים 2 כותבים 52 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • איש נחמדא מנותק
    איש נחמדא מנותק
    איש נחמד
    כתב ב נערך לאחרונה על ידי איש נחמד
    #1

    יש לי תוסף עצמי בוורדפרס שלי
    שכתוב בו כך:

    define (MY_HEANDLE_URL , plugin_dir_path(__FILE__));
    
    include( plugin_dir_path( __FILE__ ) . 'installDB.php');
    
    register_activation_hook( MY_HEANDLE_URL . 'installDB.php', 'jal_install' );
    

    ובקובץ installDB.php שבאותה תיקיה:

    function jal_install () {
       global $wpdb;
    
       $table_name = $wpdb->prefix . "api_users"; 
       
       $charset_collate = $wpdb->get_charset_collate();
    
    $sql = "CREATE TABLE $table_name (
      id mediumint(9) NOT NULL AUTO_INCREMENT,
      name varchar(10) NOT NULL,
      PRIMARY KEY  (id)
    ) $charset_collate;";
        
        require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
        dbDelta( $sql );
    }
    

    ובכל זאת, מסד הנתונים לא נוצר, אם לא בקריאה ישירה לפונקציה

    jal_install();
    

    איפה הבעיה ?

    להיות איש נחמד זה מחייב...

    ש תגובה 1 תגובה אחרונה
    0
    • ש מנותק
      ש מנותק
      ש.ב.ח.
      השיב לאיש נחמד ב נערך לאחרונה על ידי ש.ב.ח.
      #2

      @איש-נחמד
      הטיעון הראשון של הregister_activation_hook הוא נתיב הקובץ הראשי של התוסף (ולא נתיב לקובץ הפונקציה)
      מה שתצטרך לעשות הוא כך (בתנאי שאכן זה נכתב בקובץ הראשי של התוסף) :

      register_activation_hook( __FILE__ , 'jal_install' );
      

      שים לב שאחר שעשית יבוא לקובץ installBD הפונקציה קיימת כאן בקובץ ואין צורך לספר לPHP על מיקום הפונקציה.

      באופן יותר מסודר וחסכני הייתי עושה כך:

      define (MY_HEANDLE_URL , plugin_dir_path(__FILE__));
        
      register_activation_hook( __FILE__, 'active_plugin' );
      
      function active_plugin() {
           require_once(MY_HEANDLE_URL . 'installDB.php');
           jal_install()
      }
      
      
      תגובה 1 תגובה אחרונה
      0

      בא תתחבר לדף היומי!
      • התחברות

      • אין לך חשבון עדיין? הרשמה

      • התחברו או הירשמו כדי לחפש.
      • פוסט ראשון
        פוסט אחרון
      0
      • דף הבית
      • קטגוריות
      • פוסטים אחרונים
      • משתמשים
      • חיפוש
      • חוקי הפורום