web-dev-qa-db-fra.com

Panneau d'image sélectionné manquant dans le type de message personnalisé dans Wordpress 3.2

Mise à niveau de la version 3.2 à la version 3.2 et perte du panneau de l'image en vedette dans l'administrateur qui s'exécutait dans un type de publication personnalisé.

add_action( 'init', 'create_my_post_types' );

function create_my_post_types() {
    register_post_type( 'header_image_gallery',
        array(
            'labels' => array(
            'name' => __( 'Header Images' ),
            'singular_name' => __( 'Header Image' ),
            'add_new' => __( 'Add New' ),
            'add_new_item' => __( 'Add New Header Image' ),
            'edit' => __( 'Edit' ),
            'edit_item' => __( 'Edit Header Image' ),
            'new_item' => __( 'New Header Image' ),
            'view' => __( 'View Header Images' ),
            'view_item' => __( 'View Header Images' ),
            'search_items' => __( 'Search Header Images' ),
            'not_found' => __( 'No Header Images found' ),
            'not_found_in_trash' => __( 'No Header Images found in Trash' ),
            'parent' => __( 'Parent Header Images' ),
            ),
            'public' => true,
            'supports' => array('title','thumbnail','revisions')
        )
    );
}

Les miniatures de publication sont enregistrées comme suit:

// This theme uses post thumbnails
    add_theme_support( 'post-thumbnails', array('post', 'page') );

Remarque: les publications personnalisées créées avant la mise à niveau fonctionnent correctement sur le frontal en affichant leurs miniatures de publication (seul le panneau d'administration de l'image sélectionnée est manquant).

En outre: j'ai consulté le codex et extrait l'exemple de type d'article personnalisé, vous remarquerez qu'il devrait afficher une image sélectionnée> mais ne l'affiche pas non plus.

add_action('init', 'codex_custom_init');
function codex_custom_init() 
{
  $labels = array(
    'name' => _x('Books', 'post type general name'),
    'singular_name' => _x('Book', 'post type singular name'),
    'add_new' => _x('Add New', 'book'),
    'add_new_item' => __('Add New Book'),
    'edit_item' => __('Edit Book'),
    'new_item' => __('New Book'),
    'all_items' => __('All Books'),
    'view_item' => __('View Book'),
    'search_items' => __('Search Books'),
    'not_found' =>  __('No books found'),
    'not_found_in_trash' => __('No books found in Trash'), 
    'parent_item_colon' => '',
    'menu_name' => 'Books'

  );
  $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true, 
    'show_in_menu' => true, 
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'has_archive' => true, 
    'hierarchical' => false,
    'menu_position' => null,
    'supports' => array('title','editor','author','thumbnail','excerpt','comments')
  ); 
  register_post_type('book',$args);
}

Si j'examine les options de l'écran, aucune option d'image sélectionnée n'est visible dans les deux exemples.

* Répond à ma propre question

Peut-être que dans WP 3.1, vous n'avez pas à déclarer votre type d'article personnalisé lors de l'ajout du support de thème, mais dans WP 3.2 vous le faites!

// This theme uses post thumbnails
    add_theme_support( 'post-thumbnails', array('post', 'page','header_image_gallery') );
3
Devise

Change ça:

// This theme uses post thumbnails
add_theme_support( 'post-thumbnails', array('post', 'page') );

Pour ça:

// This theme uses post thumbnails
add_theme_support( 'post-thumbnails' );

Le problème est que le tableau est explicit , lorsqu'il est utilisé. Ainsi, la prise en charge post-vignette sera only sera ajoutée aux post-types inclus dans le tableau.

Omettez le tableau, afin d'ajouter le support du thème pour les vignettes de publication universellement.

7
Chip Bennett

Essayez ceci, ça marche pour moi.

add_theme_support('post-thumbnails');
add_post_type_support( 'my_product', 'thumbnail' );

function create_post_type() {
    register_post_type( 'my_product',
        array(
            'labels' => array(
                'name' => __( 'Products' ),
                'singular_name' => __( 'Product' )
            ),
            'public' => true,
            'has_archive' => true
        )
    );
}
add_action( 'init', 'create_post_type' );
2
Muhammad Sadiq

Trouvez ce code sur functions.php

    'supports'              => array( ),

Changez le code en

    'supports'              => array( 'thumbnail', ),

Cette solution peut être réalisée si vous avez créé un type de publication personnalisé dans functions.php.

0
D.M.M Shakeer