web-dev-qa-db-ja.com

独自のプラグインがプラグインのアクティブ化を妨げる

私は現在単純なプラグインに取り組んでいます。私のプラグインを有効にするとうまくいきます。しかし、私がアクティブである限り、私は他のプラグインをアクティブにすることはできません。また、編集リンクは機能しません。

これに関するどんな助けでも素晴らしいでしょう!以下はメインのプラグインファイルSponsoren.phpのコードです。

<?php  
/* 
Plugin Name: Sponsoren
Plugin URI: 
Version: 
Author: 
Description: 
*/  

// Enqueue Scripts
add_action( 'admin_enqueue_scripts', 'sponsoren_admin' );
add_action('admin_menu', 'sponsoren_custom_menu_page');
add_action( 'wp_enqueue_scripts', 'sponsoren_frontend' );

function sponsoren_custom_menu_page() {
   $page = add_menu_page( 'Sponsoren', 'Sponsoren', 'manage_options', 
       'sponsoren/sponsoren-admin.php', '', plugins_url( 'sponsoren/images/icon.png' ), 33 );
}

function sponsoren_admin() {
    wp_enqueue_style( 'sponsoren-admin-style', plugins_url('/stylesheet.css', __FILE__) );
    wp_enqueue_script( 'sponsoren-admin-script', plugins_url('/script.js', __FILE__) );
}

function sponsoren_frontend() {
    wp_enqueue_style( 'sponsoren-frontend-style', plugins_url('/sponsoren.css', __FILE__) );
    wp_enqueue_script( 'sponsoren-frontend-script', plugins_url('/sponsoren.js', __FILE__), array( 'jquery' ) );
}

// Create database table upon activation
function jal_install() {
   global $wpdb;

   $table_name = $wpdb->prefix . "sponsoren";

   $sql = "CREATE TABLE $table_name (
   id int NOT NULL AUTO_INCREMENT,
   name tinytext,
   bild tinytext,
   url tinytext,
   PRIMARY KEY id (id)
    );";

}

register_activation_hook( __FILE__, 'jal_install' );

// Ajax action used in sponsoren-admin.php
add_action('wp_ajax_sponsor_delete', 'sponsor_del');
function sponsor_del() {
    global $wpdb;
    $wpdb->delete( $wpdb->prefix.'sponsoren', array( 'id' => $_POST['deleteid'] ) );
    die();
}

// Widget
function widget_sponsoren_frontend($args=array(), $params=array()) {

    $title = get_option('widget_sponsoren_title');

    echo $before_widget;
    echo $before_title . $title . $after_title;
    // some more widget output

    echo $after_widget; 
}

wp_register_sidebar_widget('widget_sponsoren','Unsere Sponsoren', 'widget_sponsoren_frontend');

// Widget Options
wp_register_widget_control(
    'widget_sponsoren',     // id
    'widget_sponsoren',     // name
    'widget_sponsoren_control'  // callback function
);

function widget_sponsoren_control($args=array(), $params=array()) {

    if (isset($_POST['submitted'])) {
        update_option('widget_sponsoren_title', $_POST['widgettitle']);
    }

    $widgettitle = get_option('widget_sponsoren_title');
    ?>

    Widget Title:<br />
    <input type="text" class="widefat" name="widgettitle" value="<?php echo stripslashes($widgettitle); ?>" />

    <input type="hidden" name="submitted" value="0" />
    <?php
}
1
eevaa

まずJavaScriptエラーが発生しないようにしてください。プラグインのアクティベーションと編集ボタンはJavaScriptを使用しているため、コードに問題があると、Webサイトの一部を破壊する可能性があります。 Chrome Inspectを使用してJSエラーをチェックしてください。

1
Alex Dumitru