t->ID; } elseif ( is_int( $post ) ) { $parent_post_ids[] = $post; } } _prime_post_caches( $parent_post_ids, false, true ); foreach ( $wp_query->posts as $post ) { $id = get_post_thumbnail_id( $post ); if ( $id ) { $thumb_ids[] = $id; } } if ( ! empty( $thumb_ids ) ) { _prime_post_caches( $thumb_ids, false, true ); } $wp_query->thumbnails_cached = true; } /** * Retrieves the post thumbnail. * * When a theme adds 'post-thumbnail' support, a special 'post-thumbnail' image size * is registered, which differs from the 'thumbnail' image size managed via the * Settings > Media screen. * * When using the_post_thumbnail() or related functions, the 'post-thumbnail' image * size is used by default, though a different size can be specified instead as needed. * * @since 2.9.0 * @since 4.4.0 `$post` can be a post ID or WP_Post object. * * @param int|WP_Post|null $post Optional. Post ID or WP_Post object. Default is global `$post`. * @param string|int[] $size Optional. Image size. Accepts any registered image size name, or an array of * width and height values in pixels (in that order). Default 'post-thumbnail'. * @param string|array $attr Optional. Query string or array of attributes. Default empty. * @return string The post thumbnail image tag. */ function get_the_post_thumbnail( $post = null, $size = 'post-thumbnail', $attr = '' ) { $post = get_post( $post ); if ( ! $post ) { return ''; } $post_thumbnail_id = get_post_thumbnail_id( $post ); /** * Filters the post thumbnail size. * * @since 2.9.0 * @since 4.9.0 Added the `$post_id` parameter. * * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). * @param int $post_id The post ID. */ $size = apply_filters( 'post_thumbnail_size', $size, $post->ID ); if ( $post_thumbnail_id ) { /** * Fires before fetching the post thumbnail HTML. * * Provides "just in time" filtering of all filters in wp_get_attachment_image(). * * @since 2.9.0 * * @param int $post_id The post ID. * @param int $post_thumbnail_id The post thumbnail ID. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). */ do_action( 'begin_fetch_post_thumbnail_html', $post->ID, $post_thumbnail_id, $size ); if ( in_the_loop() ) { update_post_thumbnail_cache(); } $html = wp_get_attachment_image( $post_thumbnail_id, $size, false, $attr ); /** * Fires after fetching the post thumbnail HTML. * * @since 2.9.0 * * @param int $post_id The post ID. * @param int $post_thumbnail_id The post thumbnail ID. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). */ do_action( 'end_fetch_post_thumbnail_html', $post->ID, $post_thumbnail_id, $size ); } else { $html = ''; } /** * Filters the post thumbnail HTML. * * @since 2.9.0 * * @param string $html The post thumbnail HTML. * @param int $post_id The post ID. * @param int $post_thumbnail_id The post thumbnail ID, or 0 if there isn't one. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). * @param string|array $attr Query string or array of attributes. */ return apply_filters( 'post_thumbnail_html', $html, $post->ID, $post_thumbnail_id, $size, $attr ); } /** * Returns the post thumbnail URL. * * @since 4.4.0 * * @param int|WP_Post|null $post Optional. Post ID or WP_Post object. Default is global `$post`. * @param string|int[] $size Optional. Registered image size to retrieve the source for or a flat array * of height and width dimensions. Default 'post-thumbnail'. * @return string|false Post thumbnail URL or false if no image is available. If `$size` does not match * any registered image size, the original image URL will be returned. */ function get_the_post_thumbnail_url( $post = null, $size = 'post-thumbnail' ) { $post_thumbnail_id = get_post_thumbnail_id( $post ); if ( ! $post_thumbnail_id ) { return false; } $thumbnail_url = wp_get_attachment_image_url( $post_thumbnail_id, $size ); /** * Filters the post thumbnail URL. * * @since 5.9.0 * * @param string|false $thumbnail_url Post thumbnail URL or false if the post does not exist. * @param int|WP_Post|null $post Post ID or WP_Post object. Default is global `$post`. * @param string|int[] $size Registered image size to retrieve the source for or a flat array * of height and width dimensions. Default 'post-thumbnail'. */ return apply_filters( 'post_thumbnail_url', $thumbnail_url, $post, $size ); } /** * Displays the post thumbnail URL. * * @since 4.4.0 * * @param string|int[] $size Optional. Image size to use. Accepts any valid image size, * or an array of width and height values in pixels (in that order). * Default 'post-thumbnail'. */ function the_post_thumbnail_url( $size = 'post-thumbnail' ) { $url = get_the_post_thumbnail_url( null, $size ); if ( $url ) { echo esc_url( $url ); } } /** * Returns the post thumbnail caption. * * @since 4.6.0 * * @param int|WP_Post|null $post Optional. Post ID or WP_Post object. Default is global `$post`. * @return string Post thumbnail caption. */ function get_the_post_thumbnail_caption( $post = null ) { $post_thumbnail_id = get_post_thumbnail_id( $post ); if ( ! $post_thumbnail_id ) { return ''; } $caption = wp_get_attachment_caption( $post_thumbnail_id ); if ( ! $caption ) { $caption = ''; } return $caption; } /** * Displays the post thumbnail caption. * * @since 4.6.0 * * @param int|WP_Post|null $post Optional. Post ID or WP_Post object. Default is global `$post`. */ function the_post_thumbnail_caption( $post = null ) { /** * Filters the displayed post thumbnail caption. * * @since 4.6.0 * * @param string $caption Caption for the given attachment. */ echo apply_filters( 'the_post_thumbnail_caption', get_the_post_thumbnail_caption( $post ) ); } ========================= */ $wp_customize->add_section( 'newscrunch_wc_single_product_section' , array( 'title' => esc_html__('Single Product', 'newscrunch' ), 'panel' => 'woocommerce' ) ); // Enable/Disable Gallery Zoom $wp_customize->add_setting('newscrunch_wc_gallery_zoom', array( 'default' => true, 'sanitize_callback' => 'newscrunch_sanitize_checkbox' ) ); $wp_customize->add_control(new Newscrunch_Toggle_Control( $wp_customize, 'newscrunch_wc_gallery_zoom', array( 'label' => esc_html__( 'Enable/Disable Gallery Zoom', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'settings' => 'newscrunch_wc_gallery_zoom', 'type' => 'toggle', 'priority' => 1 ) )); // Enable/Disable Gallery Lightbox $wp_customize->add_setting('newscrunch_wc_gallery_lightbox', array( 'default' => true, 'sanitize_callback' => 'newscrunch_sanitize_checkbox' ) ); $wp_customize->add_control(new Newscrunch_Toggle_Control( $wp_customize, 'newscrunch_wc_gallery_lightbox', array( 'label' => esc_html__( 'Enable/Disable Gallery Lightbox', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'settings' => 'newscrunch_wc_gallery_lightbox', 'type' => 'toggle', 'priority' => 2 ) )); // Enable/Disable Slider Arrows $wp_customize->add_setting('newscrunch_wc_gallery_slide_arrow', array( 'default' => true, 'sanitize_callback' => 'newscrunch_sanitize_checkbox' ) ); $wp_customize->add_control(new Newscrunch_Toggle_Control( $wp_customize, 'newscrunch_wc_gallery_slide_arrow', array( 'label' => esc_html__( 'Enable/Disable Slider Arrows', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'settings' => 'newscrunch_wc_gallery_slide_arrow', 'type' => 'toggle', 'priority' => 3 ) )); // enable/disable Related Products $wp_customize->add_setting('newscrunch_wc_related_product', array( 'default' => true, 'sanitize_callback' => 'newscrunch_sanitize_checkbox' ) ); $wp_customize->add_control(new Newscrunch_Toggle_Control( $wp_customize, 'newscrunch_wc_related_product', array( 'label' => esc_html__( 'Enable/Disable Related Products', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'settings' => 'newscrunch_wc_related_product', 'type' => 'toggle', 'priority' => 4 ) )); // Related Products Columns $wp_customize->add_setting( 'newscrunch_wc_related_product_col', array( 'default' => 4, 'transport' => 'refresh', 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( new Newscrunch_Slider_Custom_Control( $wp_customize, 'newscrunch_wc_related_product_col', array( 'label' => esc_html__('Related Products Columns', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'setting' => 'newscrunch_wc_related_product_col', 'active_callback' => 'newscrunch_related_product_section_callback', 'priority' => 5, 'input_attrs' => array( 'min' => 1, 'max' => 6, 'step' => 1 ) ) )); // Related Products Row $wp_customize->add_setting( 'newscrunch_wc_related_product_row', array( 'default' => 4, 'transport' => 'refresh', 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( new Newscrunch_Slider_Custom_Control( $wp_customize, 'newscrunch_wc_related_product_row', array( 'label' => esc_html__('Related Products Rows', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'setting' => 'newscrunch_wc_related_product_row', 'active_callback' => 'newscrunch_related_product_section_callback', 'priority' => 5, 'input_attrs' => array( 'min' => 1, 'max' => 5, 'step' => 1 ) ) )); // enable/disable Up-Sell Products $wp_customize->add_setting('newscrunch_wc_upsell_product', array( 'default' => true, 'sanitize_callback' => 'newscrunch_sanitize_checkbox' ) ); $wp_customize->add_control(new Newscrunch_Toggle_Control( $wp_customize, 'newscrunch_wc_upsell_product', array( 'label' => esc_html__( 'Enable/Disable Up-Sell Products', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'settings' => 'newscrunch_wc_upsell_product', 'type' => 'toggle', 'priority' => 6 ) )); // Up-Sell Products Columns $wp_customize->add_setting( 'newscrunch_wc_upsell_col', array( 'default' => 4, 'transport' => 'refresh', 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( new Newscrunch_Slider_Custom_Control( $wp_customize, 'newscrunch_wc_upsell_col', array( 'label' => esc_html__('Up-Sell Products Columns', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'setting' => 'newscrunch_wc_upsell_col', 'active_callback' => 'newscrunch_upsell_product_section_callback', 'priority' => 7, 'input_attrs' => array( 'min' => 1, 'max' => 6, 'step' => 1 ) ) )); // Up-Sell Products Rows $wp_customize->add_setting( 'newscrunch_wc_upsell_row', array( 'default' => 4, 'transport' => 'refresh', 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( new Newscrunch_Slider_Custom_Control( $wp_customize, 'newscrunch_wc_upsell_row', array( 'label' => esc_html__('Up-Sell Products Rows', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'setting' => 'newscrunch_wc_upsell_row', 'active_callback' => 'newscrunch_upsell_product_section_callback', 'priority' => 8, 'input_attrs' => array( 'min' => 1, 'max' => 6, 'step' => 1 ) ) )); // enable/disable Cross-Sell Products $wp_customize->add_setting('newscrunch_wc_cross_sell_product', array( 'default' => true, 'sanitize_callback' => 'newscrunch_sanitize_checkbox' ) ); $wp_customize->add_control(new Newscrunch_Toggle_Control( $wp_customize, 'newscrunch_wc_cross_sell_product', array( 'label' => esc_html__( 'Enable/Disable Cross-Sell Products', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'settings' => 'newscrunch_wc_cross_sell_product', 'type' => 'toggle', 'priority' => 9 ) )); // Cross-Sell Products Rows $wp_customize->add_setting( 'newscrunch_wc_cross_sell_row', array( 'default' => 4, 'transport' => 'refresh', 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( new Newscrunch_Slider_Custom_Control( $wp_customize, 'newscrunch_wc_cross_sell_row', array( 'label' => esc_html__('Cross-Sell Products Rows', 'newscrunch'), 'section' => 'newscrunch_wc_single_product_section', 'setting' => 'newscrunch_wc_cross_sell_row', 'active_callback' => 'newscrunch_sell_product_section_callback', 'priority' => 10, 'input_attrs' => array( 'min' => 1, 'max' => 6, 'step' => 1 ) ) )); } add_action( 'customize_register', 'newscrunch_wc_options_customizer' ); - Page 3 sur 46 - L’information au cœur du digital
×