web-dev-qa-db-fra.com

Le contenu présenté dans Twenty Fourteen est-il créé avec un plugin ou est-il natif dans WP4.0?

J'ai trouvé que Twenty Fourteen propose aux utilisateurs d'avoir du contenu en vedette sur leurs sites Web. C'est formidable, car j'avais écrit mon propre petit script pour une telle occasion. Mais si la fonctionnalité existe déjà dans WP, je pourrais aussi bien l'utiliser.

Cependant: lorsque je regarde le functions.php de Twenty Fourteen pour comprendre comment cela fonctionne, je vois ce qui suit.

Ajoute le support de thème.

// Add support for featured content. -- line 108-112
add_theme_support( 'featured-content', array(
    'featured_content_filter' => 'twentyfourteen_get_featured_posts',
    'max_posts' => 6,
) );

Je ne sais pas ce que fait la suite.

// line 132-159
/**
* Getter function for Featured Content Plugin.
 *
 * @since Twenty Fourteen 1.0
 *
 * @return array An array of WP_Post objects.
 */
function twentyfourteen_get_featured_posts() {
    /**
     * Filter the featured posts to return in Twenty Fourteen.
     *
     * @since Twenty Fourteen 1.0
     *
     * @param array|bool $posts Array of featured posts, otherwise false.
     */
    return apply_filters( 'twentyfourteen_get_featured_posts', array() );
}

/**
 * A helper conditional function that returns a boolean value.
 *
 * @since Twenty Fourteen 1.0
 *
 * @return bool Whether there are featured posts.
 */
function twentyfourteen_has_featured_posts() {
    return ! is_paged() && (bool) twentyfourteen_get_featured_posts();
}

Placez le curseur jQuery en file d'attente uniquement si la disposition du contenu présenté a été ajoutée au thème modifié.

// line 251-257
if ( is_front_page() && 'slider' == get_theme_mod( 'featured_content_layout' ) ) {
    wp_enqueue_script( 'twentyfourteen-slider', get_template_directory_uri() . '/js/slider.js', array( 'jquery' ), '20131205', true );
    wp_localize_script( 'twentyfourteen-slider', 'featuredSliderDefaults', array(
        'prevText' => __( 'Previous', 'twentyfourteen' ),
        'nextText' => __( 'Next', 'twentyfourteen' )
    ) );
}

Ajoute la fonctionnalité principale du contenu présenté. Mais comment?

// line 507-516
/*
 * Add Featured Content functionality.
 *
 * To overwrite in a plugin, define your own Featured_Content class on or
 * before the 'setup_theme' hook.
 */
if ( ! class_exists( 'Featured_Content' ) && 'plugins.php' !== $GLOBALS['pagenow'] ) {
    require get_template_directory() . '/inc/featured-content.php';
}

Comme cela ressort clairement des questions ci-dessus, je ne suis pas sûr de savoir comment le contenu présenté fonctionne dans ce thème. Je sais que Jetpack autorise le contenu présenté, mais je ne trouve aucun plug-in qui lance cette fonctionnalité dans Twenty Fourteen. Comment alors, vingt-quatorze fait-il cela? At-il inclus sa propre fonctionnalité de contenu en vedette ou l’a-t-il empruntée à Jetpack?

5
Bram Vanroy

Le contenu présenté fait partie du thème TwentyFourteen et n'est pas implémenté en tant que plug-in, mais plutôt en tant que paramètre Apparence> Personnaliser (via get_theme_mod ()), ce qui permet d'utiliser une présentation de grille ou de curseur, en sélectionnant la base de publication sur le tag. à condition de.

BTW, j'ai compris cela seulement après lire votre post! Merci pour votre question, cela m'a beaucoup aidé.

1
senortim