web-dev-qa-db-fra.com

obtenir une vignette de type de message personnalisé

Je dois obtenir l'URL pour le type de message personnalisé Thumbnail, le nom de mon type de message personnalisé est slider. J'ai défini sur functions.php:

/* Custom post type */
add_action('init', 'slider_register');

function slider_register() {

    $labels = array(
        'name' => __('Slider', 'post type general name'),
        'singular_name' => __('Slider Item', 'post type singular name'),
        'add_new' => __('Add New', 'portfolio item'),
        'add_new_item' => __('Add New Slider Item'),
        'edit_item' => __('Edit Slider Item'),
        'new_item' => __('New Slider Item'),
        'view_item' => __('View Slider Item'),
        'search_items' => __('Search Slider'),
        'not_found' =>  __('Nothing found'),
        'not_found_in_trash' => __('Nothing found in Trash'),
        'parent_item_colon' => ''
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'menu_icon' => get_stylesheet_directory_uri() . '/image/slider.png',
        'rewrite' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => null,
        'supports' => array('title','editor','thumbnail')
        );

    register_post_type( 'slider' , $args );
    flush_rewrite_rules();
}

add_filter("manage_edit-slider_columns", "slider_edit_columns");

function slider_edit_columns($columns){
    $columns = array(
        "cb" => "<input type='checkbox' />;",
        "title" => "Portfolio Title",
    );

    return $columns;
}

Mon code est:

<!-- Slider -->
<?php
    $args = array(
        'post_type'=> 'post',
        'post_status' => 'publish',
        'order' => 'DESC',
        'tax_query' => array(
            array(
                'post-type' => array('post', 'slider')
            )
        )
    );
    $query = new WP_Query($args);
    if( $query -> have_posts() ) {
?>
    <div id="slider_area">
        <div class="slider">
            <a href='#' class="prev"><i class="fa fa-angle-double-left"></i></a>
            <a href='#' class="next"><i class="fa fa-angle-double-right"></i></a>
            <ul class="slider_list">
                <?php
                    while($query->have_posts()) : $query->the_post();
                        if(has_post_thumbnail()) { ?>
                            <li>
                                <?php the_post_thumbnail(); ?>
                            </li>
                        <?php }
                         elseif($thumbnail = get_post_meta($post->ID, 'image', true)) { ?>
                             <li>
                                 <img src="<?php echo $thumbnail; ?>" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />
                             </li>
                     <?php } endwhile;
                 ?>
            </ul>
        </div>
    </div>
<?php } ?>

Quel est le problème? Quelqu'un pourrait-il m'aider? Merci pour votre aide.

1
Ali Dayan

Veuillez mettre à jour la boucle while avec ceci: Cela imprimera l’URL miniature pour vous.

** POST ARGUMENTS DE FETCHING **

<?php 
/**** Slider Call Function ****/
function callTheSlider()
{
    $args = array('post_type'=> 'expro_slider', 'post_status' => 'publish', 'order' => 'DESC');
    ?>
    <ul>
    <?php
    wp_reset_query();
    $query = new WP_Query($args);
    while($query->have_posts()) : $query->the_post();
            if(has_post_thumbnail()) {  ?>
            <li>
                <?php the_post_thumbnail(); ?>
            </li>
        <?php }
        elseif($thumbnail = get_post_meta($post->ID, 'image', true)) { echo 12323; ?>
            <li>
                <img src="<?php echo $thumbnail; ?>" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />
            </li>
        <?php } endwhile;
        ?>
        </ul>
    <?php
}
?>
1
BlueSuiter

Tu devrais utiliser

'post_type' => array( 'slider' ),

Voici ce que vous devez utiliser pour afficher le contenu d'un type de message nommé slider not:

'post_type' => 'post',
1
Dev