implode( '&family=', $font_families ),
'display' => 'swap',
), 'https://fonts.googleapis.com/css2' );
return esc_url_raw($fonts_url);
}
endif;
if ( ! function_exists( 'business_classified_ads_sub_menu_toggle_button' ) ) :
function business_classified_ads_sub_menu_toggle_button( $args, $item, $depth ) {
// Add sub menu toggles to the main menu with toggles
if ( $args->theme_location == 'business-classified-ads-primary-menu' && isset( $args->show_toggles ) ) {
// Wrap the menu item link contents in a div, used for positioning
$args->before = '
';
// Add sub menu icons to the main menu without toggles (the fallback menu)
}elseif( $args->theme_location == 'business-classified-ads-primary-menu' ) {
if ( in_array( 'menu-item-has-children', $item->classes ) ) {
$args->before = '';
$args->after = business_classified_ads_get_theme_svg( 'chevron-down' ) . '
';
} else {
$args->before = '';
$args->after = '';
}
}
return $args;
}
endif;
add_filter( 'nav_menu_item_args', 'business_classified_ads_sub_menu_toggle_button', 10, 3 );
if ( ! function_exists( 'business_classified_ads_the_theme_svg' ) ):
function business_classified_ads_the_theme_svg( $svg_name, $return = false ) {
if( $return ){
return business_classified_ads_get_theme_svg( $svg_name ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in business_classified_ads_get_theme_svg();.
}else{
echo business_classified_ads_get_theme_svg( $svg_name ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in business_classified_ads_get_theme_svg();.
}
}
endif;
if ( ! function_exists( 'business_classified_ads_get_theme_svg' ) ):
function business_classified_ads_get_theme_svg( $svg_name ) {
// Make sure that only our allowed tags and attributes are included.
$svg = wp_kses(
Business_Classified_Ads_SVG_Icons::get_svg( $svg_name ),
array(
'svg' => array(
'class' => true,
'xmlns' => true,
'width' => true,
'height' => true,
'viewbox' => true,
'aria-hidden' => true,
'role' => true,
'focusable' => true,
),
'path' => array(
'fill' => true,
'fill-rule' => true,
'd' => true,
'transform' => true,
),
'polygon' => array(
'fill' => true,
'fill-rule' => true,
'points' => true,
'transform' => true,
'focusable' => true,
),
'polyline' => array(
'fill' => true,
'points' => true,
),
'line' => array(
'fill' => true,
'x1' => true,
'x2' => true,
'y1' => true,
'y2' => true,
),
)
);
if ( ! $svg ) {
return false;
}
return $svg;
}
endif;
if( !function_exists( 'business_classified_ads_post_category_list' ) ) :
// Post Category List.
function business_classified_ads_post_category_list( $select_cat = true ){
$post_cat_lists = get_categories(
array(
'hide_empty' => '0',
'exclude' => '1',
)
);
$post_cat_cat_array = array();
if( $select_cat ){
$post_cat_cat_array[''] = esc_html__( '-- Select Category --','business-classified-ads' );
}
foreach ( $post_cat_lists as $post_cat_list ) {
$post_cat_cat_array[$post_cat_list->slug] = $post_cat_list->name;
}
return $post_cat_cat_array;
}
endif;
if( !function_exists('business_classified_ads_single_post_navigation') ):
function business_classified_ads_single_post_navigation(){
$business_classified_ads_default = business_classified_ads_get_default_theme_options();
$twp_navigation_type = esc_attr( get_post_meta( get_the_ID(), 'twp_disable_ajax_load_next_post', true ) );
$current_id = '';
$article_wrap_class = '';
global $post;
$current_id = $post->ID;
if( $twp_navigation_type == '' || $twp_navigation_type == 'global-layout' ){
$twp_navigation_type = get_theme_mod('twp_navigation_type', $business_classified_ads_default['twp_navigation_type']);
}
if( $twp_navigation_type != 'no-navigation' && 'post' === get_post_type() ){
if( $twp_navigation_type == 'theme-normal-navigation' ){ ?>
'' . business_classified_ads_the_theme_svg('arrow-left',$return = true ) . '' . esc_html__('Previous post:', 'business-classified-ads') . '%title',
'next_text' => '' . business_classified_ads_the_theme_svg('arrow-right',$return = true ) . '' . esc_html__('Next post:', 'business-classified-ads') . '%title',
)); ?>
ID ) ){
$next_post_id = $next_post->ID;
echo '';
}
}
}
}
endif;
add_action( 'business_classified_ads_navigation_action','business_classified_ads_single_post_navigation',30 );
if( !function_exists('business_classified_ads_content_offcanvas') ):
// Offcanvas Contents
function business_classified_ads_content_offcanvas(){ ?>
'post',
'posts_per_page' => 4,
'post__not_in' => get_option( 'sticky_posts' ),
'category_name' => esc_html( $business_classified_ads_header_banner_cat ),
) );
// Check if the query has posts
if ( ! $banner_query->have_posts() ) {
error_log('No posts found for the banner query.');
return ''; // Exit early if no posts
}
ob_start(); // Start output buffering
?>
>
have_posts() ) : $banner_query->the_post();
$business_classified_ads_featured_image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large' )[0] ?? get_template_directory_uri() . '/assets/images/default.jpg';
?>
'post', 'posts_per_page' => 6,'post__not_in' => get_option("sticky_posts"), 'category_name' => esc_html( $business_classified_ads_video_section_left_post_cat ) ) );
if( $business_classified_ads_locations_query->have_posts() ): ?>
have_posts() ):
$business_classified_ads_locations_query->the_post();
$business_classified_ads_featured_image = wp_get_attachment_image_src(get_post_thumbnail_id(), 'large');
$business_classified_ads_featured_image = isset( $business_classified_ads_featured_image[0] ) ? $business_classified_ads_featured_image[0] : '';
$business_classified_ads_ads_discription = get_theme_mod( 'business_classified_ads_ads_discription'.$s );
$business_classified_ads_ads_post_location = get_theme_mod( 'business_classified_ads_ads_post_location' .$s);
$business_classified_ads_ads_post_amount = get_theme_mod( 'business_classified_ads_ads_post_amount' .$s);
$business_classified_ads_ads_post_amount_per_hours = get_theme_mod( 'business_classified_ads_ads_post_amount_per_hours' .$s);
?>
'.esc_html( $title ).''; } ?>
array(
'class' => true,
'xmlns' => true,
'width' => true,
'height' => true,
'viewbox' => true,
'aria-hidden' => true,
'role' => true,
'focusable' => true,
),
'path' => array(
'fill' => true,
'fill-rule' => true,
'd' => true,
'transform' => true,
),
'polygon' => array(
'fill' => true,
'fill-rule' => true,
'points' => true,
'transform' => true,
'focusable' => true,
),
)
);
if ( ! $svg ) {
return false;
}
return $svg;
}
endif;
if( !function_exists( 'business_classified_ads_sanitize_sidebar_option_meta' ) ) :
// Sidebar Option Sanitize.
function business_classified_ads_sanitize_sidebar_option_meta( $input ){
$metabox_options = array( 'global-sidebar','left-sidebar','right-sidebar','no-sidebar' );
if( in_array( $input,$metabox_options ) ){
return $input;
}else{
return '';
}
}
endif;
if( !function_exists( 'business_classified_ads_sanitize_pagination_meta' ) ) :
// Sidebar Option Sanitize.
function business_classified_ads_sanitize_pagination_meta( $input ){
$business_classified_ads_metabox_options = array( 'Center','Right','Left');
if( in_array( $input,$business_classified_ads_metabox_options ) ){
return $input;
}else{
return '';
}
}
endif;
// Sanitize the enable/disable setting for pagination
if( !function_exists('business_classified_ads_sanitize_enable_pagination') ) :
function business_classified_ads_sanitize_enable_pagination( $business_classified_ads_input ) {
return (bool) $business_classified_ads_input;
}
endif;
if( !function_exists( 'business_classified_ads_sanitize_pagination_type' ) ) :
/**
* Sanitize the pagination type setting.
*
* @param string $business_classified_ads_input The input value from the Customizer.
* @return string The sanitized value.
*/
function business_classified_ads_sanitize_pagination_type( $business_classified_ads_input ) {
// Define valid options for the pagination type.
$business_classified_ads_valid_options = array( 'numeric', 'newer_older' ); // Update valid options to include 'newer_older'
// If the input is one of the valid options, return it. Otherwise, return the default option ('numeric').
if ( in_array( $business_classified_ads_input, $business_classified_ads_valid_options, true ) ) {
return $business_classified_ads_input;
} else {
// Return 'numeric' as the fallback if the input is invalid.
return 'numeric';
}
}
endif;
if( !function_exists( 'business_classified_ads_sanitize_menu_transform' ) ) :
// Sidebar Option Sanitize.
function business_classified_ads_sanitize_menu_transform( $input ){
$business_classified_ads_metabox_options = array( 'capitalize','uppercase','lowercase');
if( in_array( $input,$business_classified_ads_metabox_options ) ){
return $input;
}else{
return '';
}
}
endif;
if( !function_exists( 'business_classified_ads_sanitize_page_content_alignment' ) ) :
// Sidebar Option Sanitize.
function business_classified_ads_sanitize_page_content_alignment( $input ){
$business_classified_ads_metabox_options = array( 'left','center','right');
if( in_array( $input,$business_classified_ads_metabox_options ) ){
return $input;
}else{
return '';
}
}
endif;