我发现了Twenty Fourteen 允许用户在这些网站上拥有特色内容。那太好了,因为我为这样的场合写了自己的小剧本。但是如果WP中已经有了这个功能,我也可以使用它。
然而,当研究214的功能时。为了研究php的工作原理,我看到了以下内容。
添加主题支持。
// Add support for featured content. -- line 108-112
add_theme_support( \'featured-content\', array(
\'featured_content_filter\' => \'twentyfourteen_get_featured_posts\',
\'max_posts\' => 6,
) );
不确定以下操作是什么。
// 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();
}
仅当特色内容布局已添加到修改的主题中时,才将jQuery滑块排队。
// 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\' )
) );
}
添加特色内容的核心功能。
But how?// 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\';
}
从上面的问题可以清楚地看出,我不确定这个主题中的特色内容是如何工作的。我知道Jetpack允许特色内容,但我在2014年找不到任何启动此功能的插件。那么,214是怎么做到的呢?它是否包含了自己的特色内容功能,或者是从Jetpack借用的?