File: /home/firststeps/public_html/wp-content/themes/CreatorThemeRes/functions.php
<?php
if (function_exists('add_theme_support')) {
add_theme_support( 'menus' );
register_nav_menu( 'header-menu','Header Menu');
add_theme_support( 'post-thumbnails' );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
}
function multimedia_add_editor_styles() {
add_editor_style( 'css/editor-style.css' );
}
add_action( 'admin_init', 'multimedia_add_editor_styles' );
function dess_get_excerpt($num_chars) {
$temp_str = substr(strip_shortcodes(strip_tags(get_the_content())),0,$num_chars);
$temp_parts = explode(" ",$temp_str);
$temp_parts[(count($temp_parts) - 1)] = '';
if(strlen(strip_tags(get_the_content())) > 125) {
return implode(" ",$temp_parts) . '...';
} else {
return implode(" ",$temp_parts);
}
}
add_action('wp_enqueue_scripts', 'dess_theme_imports');
function dess_theme_imports(){
wp_enqueue_style( 'google-lato-font', 'http://fonts.googleapis.com/css?family=Lato:300,400,500,700,900' );
wp_enqueue_style( 'slicknav', get_stylesheet_directory_uri().'/css/slicknav.min.css' );
wp_enqueue_style( 'slitslider', get_stylesheet_directory_uri().'/css/slitslider.css' );
wp_enqueue_style( 'creator-style', get_stylesheet_uri() );
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'slicknav', get_stylesheet_directory_uri() . '/js/jquery.slicknav.min.js' );
wp_enqueue_script( 'modernizr', get_stylesheet_directory_uri() . '/js/modernizr.custom.79639.js' );
wp_enqueue_script( 'cond_script', get_stylesheet_directory_uri() . '/js/jquery.ba-cond.min.js' );
wp_enqueue_script( 'slitslider', get_stylesheet_directory_uri() . '/js/jquery.slitslider.js' );
wp_enqueue_script( 'creator-script', get_stylesheet_directory_uri() . '/js/scripts.js' );
}
add_action('admin_enqueue_scripts', 'dess_admin_imports');
function dess_admin_imports(){
wp_enqueue_style( 'creator-style', get_stylesheet_directory_uri().'/css/admin-style.css' );
}
function dess_widgets_init() {
register_sidebar( array(
'name' => __('Footer Column 1','creator'),
'id' => 'footer-1',
'before_widget' => '<div id="%1$s" class="widget_box footer_box %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="footer_title">',
'after_title' => '</h3>',
) );
register_sidebar( array(
'name' => __('Footer Column 2','creator'),
'id' => 'footer-2',
'before_widget' => '<div id="%1$s" class="widget_box footer_box %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="footer_title">',
'after_title' => '</h3>',
) );
register_sidebar( array(
'name' => __('Footer Column 3','creator'),
'id' => 'footer-3',
'before_widget' => '<div id="%1$s" class="widget_box footer_box %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="footer_title">',
'after_title' => '</h3>',
'ignore_sticky_posts' => true
) );
}
add_action( 'widgets_init', 'dess_widgets_init' );
function dess_post_meta_box() {
add_meta_box(
'dess_post_settings',
__('Post Settings','creator'),
'dess_post_meta_box_callback',
'post'
);
}
add_action( 'add_meta_boxes', 'dess_post_meta_box' );
function dess_post_meta_box_callback( $post ) {
wp_nonce_field( 'dess_post_save_meta_box_data', 'dess_post_meta_box_nonce' );
$show_in_homepage = get_post_meta( $post->ID, 'ex_show_in_homepage', true );
$show_in_slider = get_post_meta( $post->ID, 'show_in_slider', true );
$type = get_post_meta( $post->ID, 'page_featured_type', true );
echo '<p><label for="show_in_homepage">Show in Homepage: </label>';
echo '<input type="checkbox" id="show_in_homepage" name="ex_show_in_homepage" value="Yes" '.($show_in_homepage == 'Yes' ? 'checked' : '' ).' /></p>';
echo '<p><label for="show_in_slider">'.__('Show in Slider','creator').': </label>';
echo '<input type="checkbox" id="show_in_slider" name="show_in_slider" value="Yes" '.($show_in_slider == 'Yes' ? 'checked' : '' ).' /></p>';
echo '<p><label for="video_type">'.__('Featured Type','creator').': </label><br/>';
echo '<select id="video_type" name="dess_post[page_featured_type]"><option value="">Image</option><option value="youtube" '.($type == 'youtube' ? 'selected="selected"' : '').'>Youtube</option><option value="vimeo" '.($type == 'vimeo' ? 'selected="selected"' : '').'>Vimeo</option></select></p>';
echo '<p><label for="video_id">'.__('Video ID','creator').': </label><br/>';
echo '<input type="text" id="video_id" name="dess_post[page_video_id]" value="'.get_post_meta( $post->ID, 'page_video_id', true ).'" /></p>';
}
function dess_post_save_meta_box_data( $post_id ) {
if ( ! isset( $_POST['dess_post_meta_box_nonce'] ) ) {
return;
}
if ( ! wp_verify_nonce( $_POST['dess_post_meta_box_nonce'], 'dess_post_save_meta_box_data' ) ) {
return;
}
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return;
}
if ( isset( $_POST['post_type'] ) && 'page' == $_POST['post_type'] ) {
if ( ! current_user_can( 'edit_page', $post_id ) ) {
return;
}
} else {
if ( ! current_user_can( 'edit_post', $post_id ) ) {
return;
}
}
$show_in_homepage = sanitize_text_field( $_POST['ex_show_in_homepage'] );
$show_in_slider = sanitize_text_field( $_POST['show_in_slider'] );
update_post_meta( $post_id, 'ex_show_in_homepage', $show_in_homepage );
update_post_meta( $post_id, 'show_in_slider', $show_in_slider );
$arr = array();
if (isset($_POST['dess_post'])){
$arr = $_POST['dess_post'];
}
foreach ($arr as $key => $value) {
$val = sanitize_text_field($value);
update_post_meta( $post_id, $key, $val );
}
}
add_action( 'save_post', 'dess_post_save_meta_box_data' );
function dess_customize_register($wp_customize){
$wp_customize->add_section(
'header_section',
array(
'title' => __('Logo','creator'),
'capability' => 'edit_theme_options',
'description' => __('Allows you to edit your theme\'s layout.','creator')
)
);
$wp_customize->add_setting('dess_logo', array(
'default' => get_stylesheet_directory_uri().'/images/logo.png',
'type' => 'theme_mod',
'sanitize_callback' => 'dess_sanitize_url',
));
$wp_customize->add_control( new WP_Customize_Image_Control($wp_customize, 'logo', array(
'label' => __('Logo Image','creator'),
'section' => 'header_section',
'settings' => 'dess_logo',
)));
$wp_customize->add_section(
'sm_section',
array(
'title' => __('Social Media','creator'),
'capability' => 'edit_theme_options',
'description' => __('Allows you to set your social media URLs','creator')
)
);
$socials = array('twitter','facebook','google-plus','instagram','pinterest','linkedin','vimeo','youtube');
for($i=0;$i<count($socials);$i++) {
$name = str_replace('-',' ',ucfirst($socials[$i]));
$wp_customize->add_setting('dess_'.$socials[$i], array(
'capability' => 'edit_theme_options',
'type' => 'theme_mod',
'sanitize_callback' => 'dess_sanitize_url',
));
$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'dess_'.$socials[$i], array(
'settings' => 'dess_'.$socials[$i],
'label' => $name.' URL',
'section' => 'sm_section',
'type' => 'text',
)));
}
$wp_customize->add_section(
'featured_text_section',
array(
'title' => __('Text Options','creator'),
'capability' => 'edit_theme_options',
'description' => __('Allows you to set your footer settings','creator')
)
);
$wp_customize->add_setting('dess_hometext', array(
'capability' => 'edit_theme_options',
'type' => 'theme_mod',
'sanitize_callback' => 'dess_sanitize_html',
));
$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'dess_hometext', array(
'settings' => 'dess_hometext',
'label' => __('Featured Text','creator'),
'section' => 'featured_text_section',
'type' => 'textarea',
)));
$wp_customize->add_setting('dess_tel', array(
'capability' => 'edit_theme_options',
'type' => 'theme_mod',
'sanitize_callback' => 'dess_sanitize_text',
));
$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'dess_tel', array(
'settings' => 'dess_tel',
'label' => __('Telephone','creator'),
'section' => 'featured_text_section',
'type' => 'text',
)));
$wp_customize->add_setting('dess_email', array(
'capability' => 'edit_theme_options',
'type' => 'theme_mod',
'sanitize_callback' => 'dess_sanitize_text',
));
$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'dess_email', array(
'settings' => 'dess_email',
'label' => __('Email','creator'),
'section' => 'featured_text_section',
'type' => 'text',
)));
$wp_customize->add_setting('dess_hoursup', array(
'capability' => 'edit_theme_options',
'type' => 'theme_mod',
'sanitize_callback' => 'dess_sanitize_text',
));
$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'dess_hoursup', array(
'settings' => 'dess_hoursup',
'label' => __('Hours Up','creator'),
'section' => 'featured_text_section',
'type' => 'text',
)));
$wp_customize->add_section(
'copyright_section',
array(
'title' => __('Copyright Text','creator'),
'capability' => 'edit_theme_options',
'description' => __('Allows you to set your footer settings','creator')
)
);
$wp_customize->add_setting('dess_copyright', array(
'capability' => 'edit_theme_options',
'type' => 'theme_mod',
'sanitize_callback' => 'dess_sanitize_html',
));
$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'dess_copyright', array(
'settings' => 'dess_copyright',
'label' => __('Copyright Text','creator'),
'section' => 'copyright_section',
'type' => 'textarea',
)));
}
add_action('customize_register', 'dess_customize_register');
function dess_setting($name, $default = false) {
return get_theme_mod( $name, $default );
}
function dess_sanitize_html($value){
return wp_filter_post_kses($value);
}
function dess_sanitize_text($value){
return sanitize_text_field($value);
}
function dess_sanitize_url($value) {
return esc_url_raw($value);
}