Wordpress: ฟังก์ชัน activate_plugin ไม่พบไฟล์

ฉันกำลังพยายามเปิดใช้งานปลั๊กอินจาก Functions.php ของธีม แต่ได้รับข้อผิดพลาด 'ไม่มีไฟล์ปลั๊กอิน' แม้ว่าเส้นทางจะถูกตั้งค่าอย่างถูกต้องก็ตาม นี่คือรหัสของฉัน:

function activate_plugins( $plugin_path ) {

    // Get already-active plugins   
    $active_plugins = get_option('active_plugins');
    // Make sure your plugin isn't active
    if (isset($active_plugins[$plugin_path]))
        return;

    // Include the plugin.php file so you have access to the activate_plugin() function
require_once(ABSPATH .'/wp-admin/includes/plugin.php');
    // Activate your plugin
    $res = activate_plugin($plugin_path);
    if ( is_wp_error( $res ) ) {
        echo $res->get_error_message();
    }

    return null;
}
activate_plugins( get_bloginfo('template_directory') . '/plugins/multiple-post-thumbnails/multi-post-thumbnails.php' );

ฉันกำลังพยายามโหลดปลั๊กอินจากโฟลเดอร์ธีม เนื่องจากฉันกำลังพัฒนาธีมซึ่งฉันต้องการขายในอนาคต และไม่ต้องการให้ลูกค้าต้องติดตั้งปลั๊กอินด้วยตนเองหลังจากติดตั้งธีม ฉันจะทำอย่างไร?


person Radu    schedule 27.03.2015    source แหล่งที่มา


คำตอบ (2)


ปลั๊กอินจะต้องอยู่ในไดเร็กทอรีปลั๊กอิน WP ./wp-content/plugins/ เมื่อดูโค้ดของคุณ คุณกำลังพยายามโหลดปลั๊กอินจากโฟลเดอร์ "ปลั๊กอิน" ที่อยู่ภายในไดเร็กทอรีเทมเพลต

ย้ายปลั๊กอินของคุณไปยังไดเรกทอรีที่ถูกต้องตามที่ระบุไว้ข้างต้นแทน และใช้ ABSPATH . PLUGINDIR เพื่อรับเส้นทางที่ถูกต้อง

activate_plugins( ABSPATH . PLUGINDIR . '/multiple-post-thumbnails/multi-post-thumbnails.php' );
person Dario Muñoz    schedule 27.03.2015
comment
ฉันกำลังพยายามโหลดปลั๊กอินจากโฟลเดอร์ธีม เนื่องจากฉันกำลังพัฒนาธีมซึ่งฉันต้องการขายในอนาคต และไม่ต้องการให้ลูกค้าต้องติดตั้งปลั๊กอินด้วยตนเองหลังจากติดตั้งธีม ฉันจะทำอย่างไร? - person Radu; 27.03.2015
comment
ลองดูสิ มันควรจะทำสิ่งที่คุณกำลังมองหาอย่างแน่นอน แต่ปลั๊กอินยังต้องอยู่ในโฟลเดอร์ที่ถูกต้อง อย่างไรก็ตาม สิ่งนี้สามารถช่วยให้คุณติดตั้งอัตโนมัติเมื่อเปิดใช้งานธีมได้ github.com/thomasgriffin/TGM-Plugin-Activation - person Dario Muñoz; 27.03.2015

แก้ไขโดยใช้การเปิดใช้งานปลั๊กอิน TGM ขอบคุณ ดาริโอ มูโนซ!

person Radu    schedule 27.03.2015