🔐 Sid Gifari File Manager Pro
v8.0.5 | 2026-08-07 02:36:08 | PHP 8.2.32
📂
/ (Root)
/
home
/
eliteewa
/
public_html
/
wp-content
/
themes
/
graceful
/
inc
📍 /home/eliteewa/public_html/wp-content/themes/graceful/inc
🔄 Refresh
✏️
Editing: template-functions.php
Writable
<?php /** * Template Functions * * @package Graceful */ /* ** Page Layouts */ if ( ! function_exists( 'graceful_page_layout' ) ) : // Show Left and right sidebars if enabled in theme options. function graceful_page_layout() { // Exit if the template is full width or blank if ( is_page_template( 'templates/template-full-width.php' ) || is_page_template( 'templates/template-full-width-blank.php' ) ) { return; } $has_left_sidebar = graceful_options( 'basic_show_left_sidebar' ); $has_right_sidebar = graceful_options( 'basic_show_right_sidebar' ); if ( $has_left_sidebar && $has_right_sidebar ) { // Both sidebars return 'col1-leftrightsidebar'; } elseif ( $has_left_sidebar ) { // Only left sidebar return 'col1-leftsidebar'; } elseif ( $has_right_sidebar ) { // Only right sidebar return 'col1-rightsidebar'; } } endif; // function_exists('graceful_page_layout') /* ** Convert a Hexadecimal color to RGBA format. */ if ( ! function_exists( 'graceful_hex_to_rgba' ) ) : function graceful_hex_to_rgba($color, $opacity = 1) { // Remove '#' from the string $color = ltrim($color, '#'); // Split the color into individual components $hex_components = str_split($color, 2); // Convert HEX to RGB $rgb = array_map('hexdec', $hex_components); // Check if opacity value is within valid range $opacity = max(0, min(1, $opacity)); // Convert RGB to RGBA $rgba_output = 'rgba(' . implode(',', $rgb) . ', ' . $opacity . ')'; return $rgba_output; } endif; // function_exists('graceful_hex_to_rgba') /* ** Custom Excerpts Length */ function graceful_excerpt_length( $link ) { if ( is_admin() ) { return $link; } $link = sprintf( '<p class="link-more"><a href="%1$s" class="more-link">%2$s</a></p>', esc_url( get_permalink( get_the_ID() ) ), /* translators: %s: ame of the current post */ sprintf( __( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'graceful' ), get_the_title( get_the_ID() ) ) ); return 3000; } add_filter( 'excerpt_length', 'graceful_excerpt_length', 999 ); function graceful_new_excerpt( $link ) { if ( is_admin() ) { return $link; } $link = sprintf( '<p class="link-more"><a href="%1$s" class="more-link">%2$s</a></p>', esc_url( get_permalink( get_the_ID() ) ), /* translators: %s: Name of the current post */ sprintf( __( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'graceful' ), esc_html( get_the_title( get_the_ID() ) ) ) ); return '...'; } add_filter( 'excerpt_more', 'graceful_new_excerpt' ); if ( ! function_exists( 'graceful_excerpt' ) ) : function graceful_excerpt( $limit = 50 ) { echo '<p>'. esc_html( wp_trim_words( get_the_excerpt(), $limit) ) .'</p>'; } endif; /* ** Related Posts Section */ if ( ! function_exists( 'graceful_related_posts' ) ) : function graceful_related_posts( $title, $orderby ) { global $post; $current_categories = get_the_category(); if ( $current_categories ) { $first_category = $current_categories[0]->term_id; $args = array( 'post_type' => 'post', 'post__not_in' => array( $post->ID ), 'orderby' => $orderby === 'random' ? 'rand' : 'date', 'posts_per_page' => 3, 'ignore_sticky_posts' => 1, 'category__in' => array( $first_category ), 'meta_query' => array( array( 'key' => '_thumbnail_id', 'compare' => 'EXISTS', ), ), ); $similar_posts = new WP_Query( $args ); if ( $similar_posts->have_posts() ) { ?> <div class="related-posts"> <h3><?php echo esc_html( $title ); ?></h3> <?php while ( $similar_posts->have_posts() ) { $similar_posts->the_post(); if ( has_post_thumbnail() ) { ?> <section> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('graceful-column-thumbnail'); ?></a> <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4> <span class="related-post-date"><?php echo esc_html( get_the_time( get_option( 'date_format' ) ) ); ?></span> </section> <?php } } ?> <div class="clear-fix"></div> </div> <?php } wp_reset_postdata(); } } endif; // function_exists( 'graceful_related_posts' ) // Move Comments Form Field function graceful_move_comment_form_fields( $fields ) { // unset/set $comment_field = $fields['comment']; unset( $fields['comment'] ); $fields['comment'] = $comment_field; return $fields; } add_filter( 'comment_form_fields', 'graceful_move_comment_form_fields' ); /* ** Comment Form Section */ if ( ! function_exists( 'graceful_comments' ) ) : function graceful_comments( $comment, $args, $depth ) { if ( get_comment_type() == 'pingback' || get_comment_type() == 'trackback' ) : ?> <li class="pingback" id="comment-<?php comment_ID(); ?>"> <article <?php comment_class('entry-comments'); ?> > <div class="comment-content"> <h3 class="comment-author bypostauthor"><?php esc_html_e( 'Pingback:', 'graceful' ); ?></h3> <div class="comment-meta"> <a class="comment-date" href="<?php echo esc_url( get_comment_link() ); ?> "> <?php comment_date( get_option( 'date_format' ) ); esc_html_e( ' at ', 'graceful' ); comment_time( get_option( 'time_format' ) ); ?></a> <?php edit_comment_link( esc_html__( '[Edit]', 'graceful' ) ); ?> <div class="clear-fix"></div> </div> <div class="comment-text"> <?php comment_author_link(); ?> </div> </div> </article> <?php elseif ( get_comment_type() == 'comment' ) : ?> <li id="comment-<?php comment_ID(); ?>"> <article <?php comment_class( 'entry-comments' ); ?> > <div class="comment-avatar"> <?php echo get_avatar( $comment, 75 ); ?> </div> <div class="comment-content"> <h3 class="comment-author"><?php comment_author_link(); ?></h3> <div class="comment-meta"> <a class="comment-date" href="<?php echo esc_url( get_comment_link() ); ?>"> <?php comment_date( get_option( 'date_format' ) ); esc_html_e( ' at ', 'graceful' ); comment_time( get_option( 'time_format') ); ?></a> <?php edit_comment_link( esc_html__( '[Edit]', 'graceful' ) ); comment_reply_link( array_merge( $args, array( 'depth' => $depth, 'max_depth' => $args['max_depth'], ) ) ); ?> <div class="clear-fix"></div> </div> <div class="comment-text"> <?php if ( $comment->comment_approved == '0' ) : ?> <p class="under-moderation"><?php esc_html_e( 'Your comment is under moderation.', 'graceful' ); ?></p> <?php endif; ?> <?php comment_text(); ?> </div> </div> </article> <?php endif; } endif; // function_exists( 'graceful_comments' ) /* ** Social Media Links */ if ( ! function_exists( 'graceful_social_media' ) ) : function graceful_social_media( $social_class = '' ) { $social_window = ( graceful_options( 'social_media_window' ) ) ? '_blank' : '_self'; $social_icons = array( array( 'url' => graceful_options( 'social_m_url_1' ), 'icon' => graceful_options( 'social_m_icon_1' ), ), array( 'url' => graceful_options( 'social_m_url_2' ), 'icon' => graceful_options( 'social_m_icon_2' ), ), array( 'url' => graceful_options( 'social_m_url_3' ), 'icon' => graceful_options( 'social_m_icon_3' ), ), array( 'url' => graceful_options( 'social_m_url_4' ), 'icon' => graceful_options( 'social_m_icon_4' ), ), ); ?> <div class="<?php echo esc_attr( $social_class ); ?>"> <?php foreach ( $social_icons as $social_icon ) : ?> <?php if ( ! empty( $social_icon['url'] ) ) : ?> <a href="<?php echo esc_url( $social_icon['url'] ); ?>" target="<?php echo esc_attr( $social_window ); ?>"> <i class="fa fa-<?php echo esc_attr( $social_icon['icon'] ); ?>"></i> </a> <?php endif; ?> <?php endforeach; ?> </div> <?php } // graceful_social_media() end endif; // function_exists('graceful_social_media') end /* ** WooCommerce Functions */ function graceful_woocommerce_content_wrapper_start() { if ( graceful_options( 'basic_content_width' ) === 'wrapped' ) { $graceful_woocommerce_width = 'wrapped-content'; } else { $graceful_woocommerce_width = ''; } ?> <div class="main-content clear-fix<?php echo esc_attr( $graceful_woocommerce_width ); ?>"> <div class="content-wrap"> <?php } add_action( 'woocommerce_before_main_content', 'graceful_woocommerce_content_wrapper_start', 5 ); function graceful_woocommerce_content_wrapper_end() { ?> </div><!-- .content-wrap --> </div><!-- .main-content --> <?php } add_action( 'woocommerce_after_main_content', 'graceful_woocommerce_content_wrapper_end', 50 ); // Remove Sidebars remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 ); // Change product grids column function graceful_woocommerce_shop_columns() { return 3; } add_filter( 'loop_shop_columns', 'graceful_woocommerce_shop_columns' ); // Change related product grids columns function graceful_output_related_products( $args ) { $args['posts_per_page'] = 3; $args['columns'] = 3; return $args; } add_filter( 'woocommerce_output_related_products_args', 'graceful_output_related_products' ); // Remove Breadcrumbs function graceful_remove_woocommerce_breadcrumbs() { remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 ); } add_action( 'init', 'graceful_remove_woocommerce_breadcrumbs' ); // Shop Posts Per Page function graceful_loop_shop_per_page() { return 9; } add_filter( 'loop_shop_per_page', 'graceful_loop_shop_per_page', 20 ); // Woocommerce Pagination function graceful_woocommerce_pagination() { get_template_part( 'template-parts/sections/site', 'pagination' ); } remove_action( 'woocommerce_pagination', 'woocommerce_pagination', 10 ); add_action( 'woocommerce_pagination', 'graceful_woocommerce_pagination', 10 ); /* ** Main Menu Fallback */ if ( ! function_exists( 'graceful_site_menu_fallback' ) ) : function graceful_site_menu_fallback() { if ( current_user_can( 'edit_theme_options' ) ) { ?> <ul id="site-menu"> <li> <a href="<?php echo esc_url( home_url( '/wp-admin/nav-menus.php') ) ?>"> <?php esc_html_e( 'Set-up Main Menu', 'graceful' ) ?> </a> </li> </ul> <?php } } endif; // Main Menu Fallback /** ** Notice after the Theme Activation */ if ( ! function_exists( 'graceful_activation_notice' ) ) : function graceful_activation_notice() { ?> <div class="notice notice-success is-dismissible"> <h3><?php esc_html_e( 'Congratulations!', 'graceful' ) ?></h3> <strong><?php esc_html_e( 'Graceful Theme ', 'graceful' ) ?></strong> <span><?php esc_html_e( 'is now installed and ready to use.', 'graceful' ) ?></span> <p><?php esc_html_e( 'Click below to see theme documentation, plugins to install and other details to get started.', 'graceful' ) ?></p> <p><a href="<?php echo esc_url( admin_url( 'themes.php?page=about-theme' ) ) ?>" class="button button-primary"><?php esc_html_e( 'Get Started with Graceful Theme', 'graceful' ) ?></a></p> </div> <?php } endif; // Notice Theme Activation
💾 Save Changes
❌ Cancel