web-dev-qa-db-fra.com

Taille d'image personnalisée dans la liste déroulante des médias

J'ai tout essayé, mais cela ne fonctionne pas sur mon site. J'utilise la fonction ci-dessous:

function setup_image_sizes() {
    if ( function_exists( 'add_image_size' ) ) {
        add_image_size( 'blog_body_img', 740, 0, true );
    }
}
add_action( 'after_setup_theme', 'setup_image_sizes' );*/

function post_image_sizes($sizes){
    $custom_sizes = array(
        'blog_body_img' => 'Blog Body Image'
    );
    return array_merge( $sizes, $custom_sizes );
}
add_filter('image_size_names_choose', 'post_image_sizes');

Mais dans le menu déroulant, il ne vient pas. Voir la capture d'écran ci-dessous: Screenshot

J'aurais été posté ceci sur le commentaire, mais malheureusement sous la réputation 50, je ne suis pas autorisé à commenter. Donc, je suis impatient de recevoir de l'aide.

J'utilise également un thème enfant, où je remplace certains de mes types d'images de thème parent. Donc, j'ai aussi essayé ce code ci-dessous, mais ne fonctionne toujours pas.

function img_update() {
    if ( function_exists( 'add_image_size' ) ) {
        add_image_size( 'blog_feat_img', 720 ); //overwriting parent theme
        add_image_size( 'latest_posts_widget_feat_img', 400 ); //overwriting parent theme
        add_image_size( 'portfolio_widget_feat_img_1x', 400 ); //overwriting parent theme
        add_image_size( 'portfolio_widget_feat_img_2x', 800 ); //overwriting parent theme
        add_image_size( 'blog_body_img', 740, 0, true ); //My own size
    }
}
add_action( 'after_setup_theme', 'img_update', 11 );


    function post_image_sizes($sizes){
        $custom_sizes = array(
            'blog_body_img' => 'Blog Body Image'
        );
        return array_merge( $sizes, $custom_sizes );
    }
    add_filter('image_size_names_choose', 'post_image_sizes', 11);

Aidez-moi s'il vous plaît à résoudre ce problème, car je ne sais pas du tout où je fais mal. Je place ces fonctions dans le fichier function.php de mon thème enfant. S'il vous plaît aider.

Remarque:Je sais déjà que quelqu'un d'autre a déjà posté ce genre de question sur ce forum et j'ai également vérifié ce fil de discussion ( Comment obtenir des tailles d'image personnalisées dans la liste déroulante d'upload de média ? ) pour référence, mais mon problème n’a pas été résolu. De plus, comme je n'ai pas50repotation, je ne peux pas commenter. Donc, je n'avais pas d'autre moyen d'ouvrir un nouveau fil pour cela. Je suis désolé.

2
iSaumya

Le problème ci-dessus a été résolu après avoir régénéré les vignettes et en utilisant la fonction suivante.

function mytheme_image_size_names( $sizes ) {
    $sizes['blog_body_img'] = __( 'Blog Body Image', 'isaumya' );

    return $sizes;
}
add_filter( 'image_size_names_choose', 'mytheme_image_size_names', 11, 1 );
2
iSaumya