'loop-container',
'footer' => 'overflow-container',
'render' => 'ct_period_infinite_scroll_render'
) );
register_nav_menus( array(
'primary' => esc_html__( 'Primary', 'period' )
) );
load_theme_textdomain( 'period', get_template_directory() . '/languages' );
}
}
add_action( 'after_setup_theme', 'ct_period_theme_setup', 10 );
if ( ! function_exists( ( 'ct_period_register_widget_areas' ) ) ) {
function ct_period_register_widget_areas() {
register_sidebar( array(
'name' => esc_html__( 'Primary Sidebar', 'period' ),
'id' => 'primary',
'description' => esc_html__( 'Widgets in this area will be shown in the sidebar next to the main post content', 'period' ),
'before_widget' => '',
'before_title' => '
'
) );
}
}
add_action( 'widgets_init', 'ct_period_register_widget_areas' );
if ( ! function_exists( ( 'ct_period_customize_comments' ) ) ) {
function ct_period_customize_comments( $comment, $args, $depth ) {
$GLOBALS['comment'] = $comment;
global $post;
?>
id="li-comment-">
';
$fields['email'] =
'';
$fields['url'] =
'';
return $fields;
}
}
add_filter( 'comment_form_default_fields', 'ct_period_update_fields' );
if ( ! function_exists( 'ct_period_update_comment_field' ) ) {
function ct_period_update_comment_field( $comment_field ) {
$comment_field =
'';
return $comment_field;
}
}
add_filter( 'comment_form_field_comment', 'ct_period_update_comment_field' );
if ( ! function_exists( 'ct_period_remove_comments_notes_after' ) ) {
function ct_period_remove_comments_notes_after( $defaults ) {
$defaults['comment_notes_after'] = '';
return $defaults;
}
}
add_action( 'comment_form_defaults', 'ct_period_remove_comments_notes_after' );
if ( ! function_exists( 'ct_period_excerpt' ) ) {
function ct_period_excerpt() {
global $post;
$show_full_post = get_theme_mod( 'full_post' );
$read_more_text = get_theme_mod( 'read_more_text' );
$ismore = strpos( $post->post_content, '' );
if ( ( $show_full_post == 'yes' ) && ! is_search() ) {
if ( $ismore ) {
// Has to be written this way because i18n text CANNOT be stored in a variable
if ( ! empty( $read_more_text ) ) {
the_content( esc_html( $read_more_text ) . " " . esc_html( get_the_title() ) . "" );
} else {
the_content( __( 'Continue reading', 'period' ) . " " . esc_html( get_the_title() ) . "" );
}
} else {
the_content();
}
} elseif ( $ismore ) {
if ( ! empty( $read_more_text ) ) {
the_content( esc_html( $read_more_text ) . " " . esc_html( get_the_title() ) . "" );
} else {
the_content( __( 'Continue reading', 'period' ) . " " . esc_html( get_the_title() ) . "" );
}
} else {
the_excerpt();
}
}
}
if ( ! function_exists( 'ct_period_excerpt_read_more_link' ) ) {
function ct_period_excerpt_read_more_link( $output ) {
$read_more_text = get_theme_mod( 'read_more_text' );
if ( ! empty( $read_more_text ) ) {
return $output . "" . esc_html( $read_more_text ) . " " . esc_html( get_the_title() ) . "
";
} else {
return $output . "" . __( 'Continue reading', 'period' ) . " " . esc_html( get_the_title() ) . "
";
}
}
}
add_filter( 'the_excerpt', 'ct_period_excerpt_read_more_link' );
if ( ! function_exists( 'ct_period_custom_excerpt_length' ) ) {
function ct_period_custom_excerpt_length( $length ) {
$new_excerpt_length = get_theme_mod( 'excerpt_length' );
if ( ! empty( $new_excerpt_length ) && $new_excerpt_length != 25 ) {
return $new_excerpt_length;
} elseif ( $new_excerpt_length === 0 ) {
return 0;
} else {
return 25;
}
}
}
add_filter( 'excerpt_length', 'ct_period_custom_excerpt_length', 99 );
if ( ! function_exists( 'ct_period_new_excerpt_more' ) ) {
function ct_period_new_excerpt_more( $more ) {
$new_excerpt_length = get_theme_mod( 'excerpt_length' );
$excerpt_more = ( $new_excerpt_length === 0 ) ? '' : '…';
return $excerpt_more;
}
}
add_filter( 'excerpt_more', 'ct_period_new_excerpt_more' );
if ( ! function_exists( 'ct_period_remove_more_link_scroll' ) ) {
function ct_period_remove_more_link_scroll( $link ) {
$link = preg_replace( '|#more-[0-9]+|', '', $link );
return $link;
}
}
add_filter( 'the_content_more_link', 'ct_period_remove_more_link_scroll' );
if ( ! function_exists( 'ct_period_featured_image' ) ) {
function ct_period_featured_image() {
global $post;
$featured_image = '';
if ( has_post_thumbnail( $post->ID ) ) {
if ( is_singular() ) {
$featured_image = '' . get_the_post_thumbnail( $post->ID, 'full' ) . '
';
} else {
$featured_image = '';
}
}
$featured_image = apply_filters( 'ct_period_featured_image', $featured_image );
if ( $featured_image ) {
echo $featured_image;
}
}
}
if ( ! function_exists( 'ct_period_social_array' ) ) {
function ct_period_social_array() {
$social_sites = array(
'twitter' => 'period_twitter_profile',
'facebook' => 'period_facebook_profile',
'google-plus' => 'period_googleplus_profile',
'pinterest' => 'period_pinterest_profile',
'linkedin' => 'period_linkedin_profile',
'youtube' => 'period_youtube_profile',
'vimeo' => 'period_vimeo_profile',
'tumblr' => 'period_tumblr_profile',
'instagram' => 'period_instagram_profile',
'flickr' => 'period_flickr_profile',
'dribbble' => 'period_dribbble_profile',
'rss' => 'period_rss_profile',
'reddit' => 'period_reddit_profile',
'soundcloud' => 'period_soundcloud_profile',
'spotify' => 'period_spotify_profile',
'vine' => 'period_vine_profile',
'yahoo' => 'period_yahoo_profile',
'behance' => 'period_behance_profile',
'codepen' => 'period_codepen_profile',
'delicious' => 'period_delicious_profile',
'stumbleupon' => 'period_stumbleupon_profile',
'deviantart' => 'period_deviantart_profile',
'digg' => 'period_digg_profile',
'github' => 'period_github_profile',
'hacker-news' => 'period_hacker-news_profile',
'snapchat' => 'period_snapchat_profile',
'bandcamp' => 'period_bandcamp_profile',
'etsy' => 'period_etsy_profile',
'quora' => 'period_quora_profile',
'ravelry' => 'period_ravelry_profile',
'meetup' => 'period_meetup_profile',
'telegram' => 'period_telegram_profile',
'podcast' => 'period_podcast_profile',
'steam' => 'period_steam_profile',
'vk' => 'period_vk_profile',
'weibo' => 'period_weibo_profile',
'tencent-weibo' => 'period_tencent_weibo_profile',
'500px' => 'period_500px_profile',
'foursquare' => 'period_foursquare_profile',
'slack' => 'period_slack_profile',
'slideshare' => 'period_slideshare_profile',
'qq' => 'period_qq_profile',
'whatsapp' => 'period_whatsapp_profile',
'skype' => 'period_skype_profile',
'wechat' => 'period_wechat_profile',
'xing' => 'period_xing_profile',
'paypal' => 'period_paypal_profile',
'email' => 'period_email_profile',
'email-form' => 'period_email_form_profile'
);
return apply_filters( 'ct_period_social_array_filter', $social_sites );
}
}
if ( ! function_exists( 'ct_period_social_icons_output' ) ) {
function ct_period_social_icons_output() {
$social_sites = ct_period_social_array();
foreach ( $social_sites as $social_site => $profile ) {
if ( strlen( get_theme_mod( $social_site ) ) > 0 ) {
$active_sites[ $social_site ] = $social_site;
}
}
if ( ! empty( $active_sites ) ) {
echo "";
}
}
}
/*
* WP will apply the ".menu-primary-items" class & id to the containing instead of
* making styling difficult and confusing. Using this wrapper to add a unique class to make styling easier.
*/
if ( ! function_exists( ( 'ct_period_wp_page_menu' ) ) ) {
function ct_period_wp_page_menu() {
wp_page_menu( array(
"menu_class" => "menu-unset",
"depth" => - 1
)
);
}
}
if ( ! function_exists( ( 'ct_period_nav_dropdown_buttons' ) ) ) {
function ct_period_nav_dropdown_buttons( $item_output, $item, $depth, $args ) {
if ( $args->theme_location == 'primary' ) {
if ( in_array( 'menu-item-has-children', $item->classes ) || in_array( 'page_item_has_children', $item->classes ) ) {
$item_output = str_replace( $args->link_after . '', $args->link_after . '', $item_output );
}
}
return $item_output;
}
}
add_filter( 'walker_nav_menu_start_el', 'ct_period_nav_dropdown_buttons', 10, 4 );
if ( ! function_exists( ( 'ct_period_sticky_post_marker' ) ) ) {
function ct_period_sticky_post_marker() {
if ( is_sticky() && ! is_archive() ) {
echo '' . __( "Featured", "period" ) . '
';
}
}
}
add_action( 'sticky_post_status', 'ct_period_sticky_post_marker' );
if ( ! function_exists( ( 'ct_period_reset_customizer_options' ) ) ) {
function ct_period_reset_customizer_options() {
if ( empty( $_POST['period_reset_customizer'] ) || 'period_reset_customizer_settings' !== $_POST['period_reset_customizer'] ) {
return;
}
if ( ! wp_verify_nonce( $_POST['period_reset_customizer_nonce'], 'period_reset_customizer_nonce' ) ) {
return;
}
if ( ! current_user_can( 'edit_theme_options' ) ) {
return;
}
$mods_array = array(
'logo_upload',
'search_bar',
'layout',
'full_post',
'excerpt_length',
'read_more_text',
'display_post_author',
'display_post_date',
'custom_css'
);
$social_sites = ct_period_social_array();
// add social site settings to mods array
foreach ( $social_sites as $social_site => $value ) {
$mods_array[] = $social_site;
}
$mods_array = apply_filters( 'ct_period_mods_to_remove', $mods_array );
foreach ( $mods_array as $theme_mod ) {
remove_theme_mod( $theme_mod );
}
$redirect = admin_url( 'themes.php?page=period-options' );
$redirect = add_query_arg( 'period_status', 'deleted', $redirect );
// safely redirect
wp_safe_redirect( $redirect );
exit;
}
}
add_action( 'admin_init', 'ct_period_reset_customizer_options' );
if ( ! function_exists( ( 'ct_period_delete_settings_notice' ) ) ) {
function ct_period_delete_settings_notice() {
if ( isset( $_GET['period_status'] ) ) {
if ( $_GET['period_status'] == 'deleted' ) {
?>
mobile menu toggle button
';
}
return $svg;
}
}
if ( ! function_exists( ( 'ct_period_add_meta_elements' ) ) ) {
function ct_period_add_meta_elements() {
$meta_elements = '';
$meta_elements .= sprintf( '' . "\n", esc_attr( get_bloginfo( 'charset' ) ) );
$meta_elements .= '' . "\n";
$theme = wp_get_theme( get_template() );
$template = sprintf( '' . "\n", esc_attr( $theme->get( 'Name' ) ), esc_attr( $theme->get( 'Version' ) ) );
$meta_elements .= $template;
echo $meta_elements;
}
}
add_action( 'wp_head', 'ct_period_add_meta_elements', 1 );
// Move the WordPress generator to a better priority.
remove_action( 'wp_head', 'wp_generator' );
add_action( 'wp_head', 'wp_generator', 1 );
if ( ! function_exists( ( 'ct_period_infinite_scroll_render' ) ) ) {
function ct_period_infinite_scroll_render() {
while ( have_posts() ) {
the_post();
get_template_part( 'content', 'archive' );
}
}
}
if ( ! function_exists( 'ct_period_get_content_template' ) ) {
function ct_period_get_content_template() {
/* Blog */
if ( is_home() ) {
get_template_part( 'content', 'archive' );
} /* Post */
elseif ( is_singular( 'post' ) ) {
get_template_part( 'content' );
} /* Page */
elseif ( is_page() ) {
get_template_part( 'content', 'page' );
} /* Attachment */
elseif ( is_attachment() ) {
get_template_part( 'content', 'attachment' );
} /* Archive */
elseif ( is_archive() ) {
get_template_part( 'content', 'archive' );
} /* Custom Post Type */
else {
get_template_part( 'content' );
}
}
}
// allow skype URIs to be used
if ( ! function_exists( ( 'ct_period_allow_skype_protocol' ) ) ) {
function ct_period_allow_skype_protocol( $protocols ) {
$protocols[] = 'skype';
return $protocols;
}
}
add_filter( 'kses_allowed_protocols' , 'ct_period_allow_skype_protocol' );
// trigger theme switch on link click and send to Appearance menu
function ct_period_welcome_redirect() {
$welcome_url = add_query_arg(
array(
'page' => 'period-options',
'period_status' => 'activated'
),
admin_url( 'themes.php' )
);
wp_safe_redirect( esc_url_raw( $welcome_url ) );
}
add_action( 'after_switch_theme', 'ct_period_welcome_redirect' );