2

タイトルといくつかのメタ情報に加えて、現在の投稿が. 公開ボタンが突然機能しなくなったとき、問題が発生しました。新しいギャラリーを作成している場合でも、古いギャラリーを編集している場合でも、更新/公開をクリックすると、変更が失われ、. 誰がそれが何であるか知っていますか? wp_list_tablepost_parentedit.php

問題がどこにあると思われるかを把握することができます。から継承する list_table クラスにありwp_list_tableます。いくつかの重要でない機能をコメントアウトした後、別のエラーが発生しましたが、新しいギャラリーや更新されたギャラリーはまだありません。今、私はare you sure you want to do thisページを取得します。

最も基本的なクラスでさえ機能しません...

if( ! class_exists( 'WP_List_Table' ) ) {
    require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
}

class Yard_Attachment_Table extends WP_List_Table {
function __construct() {
    global $status, $page;      
    parent::__construct( array(
        'singular'  => 'yard Attachment',
        'plural'    => 'yard Attachments',
        'ajax'      => false
    ) );

}

function column_default($item, $column_name) {
    return 'default';
}
function get_columns(){
    $columns = array(
        'checkbox'  => '<input type="checkbox" />', //for simplicity its not 'cb'
        'thumb'     => 'Thumbnail',
        'title'     => 'Titel',
        'pos'       => 'Position'
    );
    return $columns;
}
function prepare_items() {
    global $wpdb;
    $columns = $this->get_columns();
    $hidden = array();
    $sortable = $this->get_sortable_columns();

    $this->_column_headers = array($columns, $hidden, $sortable);

    if (isset($_REQUEST['post'])) {
        $query = "  SELECT * 
                    FROM $wpdb->posts 
                    WHERE post_type = 'attachment' 
                    AND post_parent = {$_REQUEST['post']}";
        $data = $wpdb->get_results($query, ARRAY_A);
    } else {
        $data = array();
    }

    $this->items = $data;

}
}

プラグイン クラスのコンストラクターで
add_action('add_meta_boxes_yard_gallery', array($this, 'yard_metaboxes'));. 私が使用し
、コールバックとして持っている関数で、テーブルクラスのインスタンスを作成していて、呼び出してyard_metaboxesadd_meta_boxnewprepare_items()display()



私のページで error_reporting を有効にすると、次のメッセージが表示されて終了します。

Strict Standards: Only variables should be passed by reference in /Applications/MAMP/htdocs/Web/ChristophRokitta/wp v.1.0/wp-includes/pomo/mo.php on line 210

Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/Web/ChristophRokitta/wp v.1.0/wp-includes/pomo/mo.php:210) in /Applications/MAMP/htdocs/Web/ChristophRokitta/wp v.1.0/wp-includes/pluggable.php on line 876

ところで、私はローカライズしていません。
助けてください!もっと評判がよければ、私はそれを提供します。

メタ ボックス コードの追加

私のプラグインファイルで:

require_once( plugin_dir_path( __FILE__ ) . 'class-yard.php' );
Yard::get_instance();

私のクラスヤードファイルでは、メタボックスメソッドは一番下にあります:

class Yard {
    protected static $instance = null;
    private function __construct() {
        include_once('class-yard-attachments.php');

        add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_styles' ) );

        add_action('after_setup_theme', array($this, 'yard_thumbnails'));

        add_action('init', array($this, 'yard_post_type'));
        add_action('init', array($this, 'yard_taxonomies'));
        add_filter('manage_yard_gallery_posts_columns', array($this, 'yard_add_columns'));
        add_action('manage_posts_custom_column', array($this, 'yard_fill_columns'));
        add_action('add_meta_boxes_yard_gallery', array($this, 'yard_metaboxes'));
    }

    public static function get_instance() {// If the single instance hasn't been set, set it now.
        if (null == self::$instance ) {
            self::$instance = new self;
        }
        return self::$instance;
    }

    public function enqueue_admin_styles() {
        $screen = get_current_screen();
        if ($screen->post_type == 'yard_gallery') {
            wp_register_style( 'yard-gallery-style', plugins_url('css/yard-gallery-style.css', __FILE__) );
            wp_enqueue_style( 'yard-gallery-style' );
        }
    }

    public function yard_thumbnails() {
        //add_image_size('yard-thumbnail', 100, 100, true);
    }

    public function yard_post_type() {
        $gallery_labels = array(
            'name' => 'Galerien',
            'singular_name' => 'Galerie',
            'all_items' => 'Alle Galerien',
            'add_new' => 'Erstellen',
            'add_new_item' => 'Neue Galerie erstellen',
            'edit_item' => 'Galerie bearbeiten',
            'new_item' => 'Neue Galerie',
            'view' => 'Galerie anzeigen',
            'view_item' => 'Gallerie anzeigen',
            'search_items' => 'Galerie durchsuchen',
            'not_found' => 'Keine Galerien gefunden',
            'not_found_in_trash' => 'Es befinden sich keine Galerien im Papierkorb',
            'parent_item_colon' => ''
        );
        $gallery_args = array(
            'labels' => $gallery_labels,
            'public' => true,
            // 'publicly_queryable' => true,
            // 'show_ui' => true,
            // 'show_in_menu' => true,
            // 'query_var' => true,
            'rewrite' => true,
            // 'capability_type' => 'post',
            // 'hierarchical' => false,
            'menu_position' => 12,
            'supports' => array(
                'title'
            )
            // 'menu_icon' => plugin_dir_url(__FILE__) . '/assets/icon_16_grey.png'//16x16 png if you want an icon
        );
        register_post_type('yard_gallery', $gallery_args);
    }

    public function yard_taxonomies() {
        register_taxonomy(
            'yard_work_type',
            'yard_gallery',
            array(
                'hierarchical' => true,
                'label' => 'Art der Arbeit'
            )
        );
        register_taxonomy(
            'yard_subject',
            'yard_gallery',
            array(
                'hierarchical' => true,
                'label' => 'Motiv'
            )
        );
    }

    public function yard_add_columns( $columns ){
        $columns = array(
            'cb' => '<input type="checkbox">',
            'yard_post_thumb' => 'Thumbnail',
            'title' => 'Bezeichnung',
            'yard_pos' => 'Position',
            'date' => 'Datum'
        );
        return $columns;
    }
    public function yard_fill_columns( $column ) {
        global $post;
        switch ($column) {
            case 'yard_post_thumb' :
                echo the_post_thumbnail('admin-list-thumb');
                break;
        }
    }

    public function yard_metaboxes( $post ) {
        global $wp_meta_boxes;

        add_meta_box(
            'yard-attachments',
            'Bilder',
            array($this, 'get_yard_attachment_table'),
            'yard_gallery'
        );
    }
    public function get_yard_attachment_table() {
        $yard_list_table = new Yard_Attachment_Table();
        $yard_list_table->prepare_items();

        $yard_list_table->display();
    }
}
4

1 に答える 1