<?php
/**
 * Theme functions and definitions
 *
 * @package Bosa Plumber 1.0.0
 */

require get_stylesheet_directory() . '/inc/customizer/customizer.php';
require get_stylesheet_directory() . '/inc/customizer/loader.php';

if ( ! function_exists( 'bosa_plumber_enqueue_styles' ) ) :
	/**
	 * @since Bosa Plumber 1.0.0
	 */
	function bosa_plumber_enqueue_styles() {
        require_once get_theme_file_path ( 'inc/wptt-webfont-loader.php');

		wp_enqueue_style( 'bosa-plumber-style-parent', get_template_directory_uri() . '/style.css',
			array(
				'bootstrap',
				'slick',
				'slicknav',
				'slick-theme',
				'fontawesome',
				'bosa-blocks',
				'bosa-google-font'
				)
		);

	    wp_enqueue_style(
            'bosa-plumber-google-fonts',
            wptt_get_webfont_url( "https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" ),
            false
        );

        wp_enqueue_style(
            'bosa-plumber-google-fonts-two',
            wptt_get_webfont_url( "https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" ),
            false
        );

	}

endif;
add_action( 'wp_enqueue_scripts', 'bosa_plumber_enqueue_styles', 10 );

/**
* Registers menu location. 
* @since Bosa Plumber 1.0.0
*/
function bosa_plumber_menu_register(){
    register_nav_menu(
        'menu-4', esc_html__( 'Category Menu', 'bosa-plumber' )
    );
}
add_action( 'after_setup_theme', 'bosa_plumber_menu_register' );

/**
* Add cart link
* @since Bosa Plumber 1.0.0
*/
if ( !function_exists( 'bosa_plumber_cart_link' ) ) {
    function bosa_plumber_cart_link() {
        ?>	
            <a class="cart-icon" href="<?php echo esc_url( wc_get_cart_url() ); ?>">
                <span class="header-svg-icon">
                    <svg width="20" height="20" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
                        <g clip-path="url(#clip0)">
                        <path d="M24.4941 3.36652H4.73614L4.69414 3.01552C4.60819 2.28593 4.25753 1.61325 3.70863 1.12499C3.15974 0.636739 2.45077 0.366858 1.71614 0.366516L0.494141 0.366516V2.36652H1.71614C1.96107 2.36655 2.19748 2.45647 2.38051 2.61923C2.56355 2.78199 2.68048 3.00626 2.70914 3.24952L4.29414 16.7175C4.38009 17.4471 4.73076 18.1198 5.27965 18.608C5.82855 19.0963 6.53751 19.3662 7.27214 19.3665H20.4941V17.3665H7.27214C7.02705 17.3665 6.79052 17.2764 6.60747 17.1134C6.42441 16.9505 6.30757 16.7259 6.27914 16.4825L6.14814 15.3665H22.3301L24.4941 3.36652ZM20.6581 13.3665H5.91314L4.97214 5.36652H22.1011L20.6581 13.3665Z" fill="#253D4E"/>
                        <path d="M7.49414 24.3665C8.59871 24.3665 9.49414 23.4711 9.49414 22.3665C9.49414 21.2619 8.59871 20.3665 7.49414 20.3665C6.38957 20.3665 5.49414 21.2619 5.49414 22.3665C5.49414 23.4711 6.38957 24.3665 7.49414 24.3665Z" fill="#253D4E"/>
                        <path d="M17.4941 24.3665C18.5987 24.3665 19.4941 23.4711 19.4941 22.3665C19.4941 21.2619 18.5987 20.3665 17.4941 20.3665C16.3896 20.3665 15.4941 21.2619 15.4941 22.3665C15.4941 23.4711 16.3896 24.3665 17.4941 24.3665Z" fill="#253D4E"/>
                        </g>
                        <defs>
                        <clipPath id="clip0">
                        <rect width="24" height="24" fill="white" transform="translate(0.494141 0.366516)"/>
                            </clipPath>
                        </defs>
                    </svg>
                </span>
                <span class="count"><?php echo wp_kses_data( WC()->cart->get_cart_contents_count() ); ?></span>
                <div class="amount-cart hidden-xs"><?php echo wp_kses_data( WC()->cart->get_cart_subtotal() ); ?></div> 
            </a>
        <?php
    }
}

/**
* Add product cart box
* @since Bosa Plumber 1.0.0
*/
if ( !function_exists( 'bosa_plumber_header_cart' ) ) {
    function bosa_plumber_header_cart() {
        ?>
            <div class="header-cart">
                <div class="header-cart-block">
                    <div class="header-cart-inner">
                        <?php bosa_plumber_cart_link(); ?>
                        <?php if( !bosa_wooCom_is_cart() && !bosa_wooCom_is_checkout() ){  ?>
                            <ul class="site-header-cart menu list-unstyled text-center">
                                <li>
                                  <?php the_widget( 'WC_Widget_Cart', 'title=' ); ?>
                                </li>
                            </ul>
                        <?php } ?>
                    </div>
                </div>
            </div>
        <?php
    }
}

/**
* Add header add to cart fragment
* @since Bosa Plumber 1.0.0
*/
if ( !function_exists( 'bosa_plumber_header_add_to_cart_fragment' ) ) {
    function bosa_plumber_header_add_to_cart_fragment( $fragments ) {
        ob_start();
        bosa_plumber_cart_link();
        $fragments['a.cart-icon'] = ob_get_clean();
        return $fragments;
    }
    add_filter( 'woocommerce_add_to_cart_fragments', 'bosa_plumber_header_add_to_cart_fragment' );
}

/**
* Add product wishlist
* @since Bosa Plumber 1.0.0
*/
if ( !function_exists( 'bosa_plumber_head_wishlist' ) ) {
    function bosa_plumber_head_wishlist() {
        if ( function_exists( 'YITH_WCWL' ) ) {
            $wishlist_url = YITH_WCWL()->get_wishlist_url();
            ?>
            <div class="header-wishlist">
                <a href="<?php echo esc_url( $wishlist_url ); ?>">
                    <span class="header-svg-icon">
                        <svg width="20" height="20" viewBox="0 0 24 25" xmlns="http://www.w3.org/2000/svg">
                            <g clip-path="url(#clip0)">
                            <path d="M18.2753 1.28351C17.1493 1.30102 16.0478 1.61536 15.0821 2.19478C14.1164 2.7742 13.3207 3.59818 12.7753 4.58351C12.23 3.59818 11.4343 2.7742 10.4686 2.19478C9.50289 1.61536 8.4014 1.30102 7.27535 1.28351C5.48029 1.3615 3.78905 2.14676 2.57113 3.46774C1.35321 4.78872 0.707598 6.53803 0.775349 8.33351C0.775349 15.1085 11.7313 22.9335 12.1973 23.2655L12.7753 23.6745L13.3533 23.2655C13.8193 22.9355 24.7753 15.1085 24.7753 8.33351C24.8431 6.53803 24.1975 4.78872 22.9796 3.46774C21.7616 2.14676 20.0704 1.3615 18.2753 1.28351ZM12.7753 21.2125C9.52235 18.7825 2.77535 12.8125 2.77535 8.33351C2.70699 7.06822 3.14172 5.82724 3.98471 4.88121C4.82771 3.93518 6.01058 3.36086 7.27535 3.28351C8.54012 3.36086 9.72299 3.93518 10.566 4.88121C11.409 5.82724 11.8437 7.06822 11.7753 8.33351H13.7753C13.707 7.06822 14.1417 5.82724 14.9847 4.88121C15.8277 3.93518 17.0106 3.36086 18.2753 3.28351C19.5401 3.36086 20.723 3.93518 21.566 4.88121C22.409 5.82724 22.8437 7.06822 22.7753 8.33351C22.7753 12.8145 16.0283 18.7825 12.7753 21.2125Z" fill="#253D4E"/>
                            </g>
                            <defs>
                            <clipPath id="clip0">
                                <rect width="20" height="20" fill="white" transform="translate(0.775391 0.366516)"/>
                            </clipPath>
                            </defs>
                        </svg>
                    </span>
                    <span class="info-tooltip">
                        <?php esc_html_e( 'Wishlist', 'bosa-plumber' ); ?>
                    </span>
                </a>
            </div>
            <?php
        }
    }
}

/**
* Add product compare icon in header
* @since Bosa Plumber 1.0.0
*/
if (!function_exists( 'bosa_plumber_head_compare' ) ) {
    function bosa_plumber_head_compare() {
        if ( function_exists( 'yith_woocompare_constructor' ) ) {
            global $yith_woocompare;
            ?>
            <div class="header-compare">
                <a class="compare added" rel="nofollow" href="<?php echo esc_url( $yith_woocompare->obj->view_table_url() ); ?>">
                    <span class="header-svg-icon">
                        <svg width="20" height="20" viewBox="0 0 24 25" xmlns="http://www.w3.org/2000/svg">
                            <g clip-path="url(#clip0)">
                           <path class="cls-1" d="M23.33,16l-4.72,1.4L19.08,19,21,18.4a10,10,0,0,1-9,4.29h0a8.51,8.51,0,0,1-.9-.11h0l-.78-.17L10,22.35l-.56-.17L9.06,22l-.37-.15-.59-.29a9.94,9.94,0,0,1-5.37-8l-1.64.14A11.65,11.65,0,0,0,7.18,23h0q.45.24.93.45l.11,0c.28.12.57.22.86.32l.2.07.75.19.32.08c.19,0,.39.06.59.09l.49.08h0a11.66,11.66,0,0,0,11-5.28l.63,2.15,1.58-.46Z" transform="translate(-1.09 -1.07)"/>
                           <path class="cls-1" d="M2.33,8.92,7.11,7.75,6.72,6.16l-1.91.47A10,10,0,0,1,14,2.79h0a8.72,8.72,0,0,1,.89.16h0l.77.2.21.07.56.2.4.17.36.17c.19.1.39.2.58.32a10,10,0,0,1,5,8.25l1.64-.06A11.61,11.61,0,0,0,18.8,2.75h0l0,0a9.75,9.75,0,0,0-.9-.49l-.11-.05q-.41-.19-.84-.36l-.2-.07c-.24-.09-.49-.17-.74-.24l-.31-.09-.58-.13c-.17,0-.33-.07-.5-.09h-.05A11.66,11.66,0,0,0,3.29,5.93L2.76,3.75l-1.59.39Z" transform="translate(-1.09 -1.07)"/>
                            </g> 
                            <defs>
                            <clipPath id="clip0">
                                <rect width="26" height="26" fill="white"/>
                            </clipPath>
                            </defs>
                        </svg>
                    </span>
                    <span class="info-tooltip">
                        <?php esc_html_e( 'Compare', 'bosa-plumber' ); ?>
                    </span>
                </a>
            </div>
            <?php
        }
    }
}

/**
* Add my account
* @since Bosa Plumber 1.0.0
*/
if ( !function_exists( 'bosa_plumber_my_account' ) ) {
    function bosa_plumber_my_account() {
        if ( get_theme_mod('woo_account', 1 ) == 1) {
            ?>
            <div class="header-my-account">
                <div class="header-login"> 
                    <a href="<?php echo esc_url( get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ) ); ?>">
                        <span class="header-svg-icon">
                            <svg width="20" height="20" viewBox="0 0 24 25" xmlns="http://www.w3.org/2000/svg">
                                <g clip-path="url(#clip0)">
                                <path d="M21.4443 24.3665H19.4443V19.3235C19.4435 18.5395 19.1317 17.7879 18.5774 17.2335C18.023 16.6791 17.2713 16.3673 16.4873 16.3665H8.40134C7.61733 16.3673 6.86567 16.6791 6.3113 17.2335C5.75693 17.7879 5.44513 18.5395 5.44434 19.3235V24.3665H3.44434V19.3235C3.44592 18.0093 3.96869 16.7494 4.89796 15.8201C5.82723 14.8909 7.08714 14.3681 8.40134 14.3665H16.4873C17.8015 14.3681 19.0614 14.8909 19.9907 15.8201C20.92 16.7494 21.4427 18.0093 21.4443 19.3235V24.3665Z" fill="#253D4E"/>
                                <path d="M12.4443 12.3665C11.2577 12.3665 10.0976 12.0146 9.11092 11.3553C8.12422 10.696 7.35519 9.75898 6.90106 8.66262C6.44694 7.56626 6.32812 6.35986 6.55963 5.19598C6.79114 4.03209 7.36258 2.96299 8.2017 2.12388C9.04081 1.28476 10.1099 0.713318 11.2738 0.481807C12.4377 0.250296 13.6441 0.369116 14.7404 0.823242C15.8368 1.27737 16.7739 2.0464 17.4332 3.0331C18.0924 4.01979 18.4443 5.17983 18.4443 6.36652C18.4427 7.95733 17.8101 9.48253 16.6852 10.6074C15.5604 11.7323 14.0352 12.3649 12.4443 12.3665ZM12.4443 2.36652C11.6532 2.36652 10.8799 2.60111 10.2221 3.04064C9.56426 3.48017 9.05157 4.10488 8.74882 4.83579C8.44607 5.56669 8.36686 6.37096 8.5212 7.14688C8.67554 7.9228 9.0565 8.63554 9.61591 9.19495C10.1753 9.75436 10.8881 10.1353 11.664 10.2897C12.4399 10.444 13.2442 10.3648 13.9751 10.062C14.706 9.75929 15.3307 9.2466 15.7702 8.5888C16.2097 7.931 16.4443 7.15764 16.4443 6.36652C16.4443 5.30565 16.0229 4.28824 15.2728 3.53809C14.5226 2.78795 13.5052 2.36652 12.4443 2.36652Z" fill="#253D4E"/>
                                </g>
                                <defs>
                                <clipPath id="clip0">
                                    <rect width="24" height="24" fill="white" transform="translate(0.444336 0.366516)"/>
                                </clipPath>
                                </defs>
                            </svg>
                        </span>
                        <span class="info-tooltip">
                            <?php esc_html_e( 'My Account', 'bosa-plumber' ); ?>
                        </span>
                    </a>
                </div>
            </div>
            <?php
        }
    }
}

/**
* Add a header advertisement banner
* @since Bosa Plumber 1.0.0
*/
function bosa_header_advertisement_banner(){
    $bannerImageID                      = get_theme_mod( 'header_advertisement_banner', '' );
    if ( !empty( $bannerImageID ) ){
        $render_header_ad_image_size        = get_theme_mod( 'render_header_ad_image_size', 'full' );
        $header_advertisement_banner_obj    = wp_get_attachment_image_src( $bannerImageID, $render_header_ad_image_size );
        if ( is_array(  $header_advertisement_banner_obj ) ){
            $header_advertisement_banner = $header_advertisement_banner_obj[0];
        }else{
            $header_advertisement_banner = '';
        }
        $alt = get_post_meta( $bannerImageID, '_wp_attachment_image_alt', true);
        ?>
            <div class="header-advertisement-banner">
                <a href="<?php echo esc_url( get_theme_mod( 'header_advertisement_banner_link', '#' ) ); ?>" alt="<?php echo esc_attr( $alt ); ?>" target="_blank">
                    <img src="<?php echo esc_url( $header_advertisement_banner ); ?>">
                </a>
            </div>
    <?php }
}

/**
* Check if all getting started recommended plugins are active.
* @since Bosa Plumber 1.0.0
*/
if( !function_exists( 'bosa_are_plugin_active' ) ){
    function bosa_are_plugin_active() {
        if ( is_plugin_active( 'advanced-import/advanced-import.php' ) && is_plugin_active( 'keon-toolset/keon-toolset.php' ) && is_plugin_active( 'kirki/kirki.php' ) && is_plugin_active( 'elementor/elementor.php' ) && is_plugin_active( 'breadcrumb-navxt/breadcrumb-navxt.php' ) && is_plugin_active( 'yith-woocommerce-compare/init.php' ) && is_plugin_active( 'yith-woocommerce-quick-view/init.php' ) && is_plugin_active( 'yith-woocommerce-wishlist/init.php' ) && is_plugin_active( 'elementskit-lite/elementskit-lite.php' ) && is_plugin_active( 'woocommerce/woocommerce.php' ) && is_plugin_active( 'contact-form-7/wp-contact-form-7.php' ) && is_plugin_active( 'bosa-elementor-for-woocommerce/bosa-elementor-for-woocommerce.php' ) ){
            return true;
        }else{
            return false;
        }
    }
}

//Stop WooCommerce redirect on activation
add_filter( 'woocommerce_enable_setup_wizard', '__return_false' );

/**
* Get pages by post id.
* 
* @since Bosa Plumber 1.0.0
* @return array.
*/
function bosa_plumber_get_pages(){
    $page_array = get_pages();
    $pages_list = array();
    foreach ( $page_array as $key => $value ){
        $page_id = absint( $value->ID );
        $pages_list[ $page_id ] = $value->post_title;
    }
    return $pages_list;
}

/**
* Add a blog advertisement banner
* @since Bosa Plumber 1.0.0
*/
if( !function_exists( 'bosa_plumber_blog_advertisement_banner' ) ){
    function bosa_plumber_blog_advertisement_banner(){
        $blogAdvertID                   = get_theme_mod( 'blog_advertisement_banner', '' );
        $render_blog_ad_image_size      = get_theme_mod( 'render_blog_ad_image_size', 'full' );
        $blog_advertisement_banner_obj  = wp_get_attachment_image_src( $blogAdvertID,  $render_blog_ad_image_size );
        if ( is_array(  $blog_advertisement_banner_obj ) ){
            $blog_advertisement_banner = $blog_advertisement_banner_obj[0];
            $advert_target = get_theme_mod( 'blog_advertisement_banner_target', true );
            $alt = get_post_meta( $blogAdvertID, '_wp_attachment_image_alt', true); ?>
            <div class="section-advert">
                <a href="<?php echo esc_url( get_theme_mod( 'blog_advertisement_banner_link', '#' ) ); ?>" alt="<?php echo esc_attr( $alt ); ?>" target="<?php echo esc_attr( $advert_target ); ?>">
                    <img src="<?php echo esc_url( $blog_advertisement_banner ); ?>">
                </a>
            </div>
        <?php }
    }
}

if ( ! function_exists( 'bosa_plumber_grid_thumbnail_date' ) ) :
    /**
     * Prints HTML with meta information for the tags and comments.
     */
    function bosa_plumber_grid_thumbnail_date() {

        $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
        if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
            $time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time>';
        }

        $time_string = sprintf( $time_string,
            esc_attr( get_the_date( 'c' ) ),
            esc_html( get_the_date( 'M j, Y' ) ),
            esc_attr( get_the_modified_date( 'c' ) ),
            esc_html( get_the_modified_date( 'M j, Y' ) )
        );
        $year = get_the_date( 'Y' );
        $month = get_the_date( 'm' );
        $link = ( is_single() ) ? get_month_link( $year, $month ) : get_permalink();

        $posted_on = '<a href="' . esc_url( $link ) . '" rel="bookmark">' . $time_string . '</a>';

        if ( !is_single() && !get_theme_mod( 'hide_date', false ) ){
            if ( !get_theme_mod( 'disable_date_thumbnail', false ) ){
                echo '<span class="posted-on">' . $posted_on . '</span>'; // WPCS: XSS OK.
            }
        }

        $byline = '<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>';

        if ( !is_single() && !get_theme_mod( 'hide_author', false ) ){
            if ( !get_theme_mod( 'disable_author_thumbnail', true ) ){
                echo '<span class="byline"> ' . $byline . '</span>';
            }
        }

        if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
            if( !is_single() && !get_theme_mod( 'hide_comment', false ) ){ 
                if ( !get_theme_mod( 'disable_comment_thumbnail', true ) ){
                    echo '<span class="comments-link">';
                    comments_popup_link(
                        sprintf(
                            wp_kses(
                                /* translators: %s: post title */
                                __( 'Comment<span class="screen-reader-text"> on %s</span>', 'bosa-plumber' ),
                                array(
                                    'span' => array(
                                        'class' => array(),
                                    ),
                                )
                            ),
                            get_the_title()
                        )
                    );
                    echo '</span>';
                }
            }
        } 
    }
endif;

if( !function_exists( 'bosa_plumber_has_header_buttons' ) ){
    /**
    * Check if header button text is empty.
    * 
    * @since Bosa Plumber 1.0.0
    * @return bool
    */
    function bosa_plumber_has_header_buttons(){
        $header_btn_defaults = array(
            array(
                'header_btn_type'           => 'button-outline',
                'header_btn_bg_color'       => '#EB5A3E',
                'header_btn_border_color'   => '#1a1a1a',
                'header_btn_text_color'     => '#1a1a1a',
                'header_btn_hover_color'    => '#086abd',
                'header_btn_text'           => '',
                'header_btn_link'           => '#',
                'header_btn_target'         => true,
                'header_btn_radius'         => 0,
            ),      
        );
        $header_buttons = get_theme_mod( 'header_button_repeater', $header_btn_defaults );
        $has_header_btn = false;
        if ( is_array( $header_buttons ) ){
            foreach( $header_buttons as $value ){
                if( !empty( $value['header_btn_text'] ) ){
                    $has_header_btn = true;
                    break;
                }
            }
        }
        return $has_header_btn;
    }
}

if( !function_exists( 'bosa_plumber_header_buttons' ) ){
    /**
    * Add header buttons.
    * 
    * @since Bosa Consturction Industrial 1.0.0
    */
    function bosa_plumber_header_buttons(){
        $header_btn_defaults = array(
            array(
                'header_btn_type'           => 'button-outline',
                'header_btn_bg_color'       => '#EB5A3E',
                'header_btn_border_color'   => '#1a1a1a',
                'header_btn_text_color'     => '#1a1a1a',
                'header_btn_hover_color'    => '#086abd',
                'header_btn_text'           => '',
                'header_btn_link'           => '#',
                'header_btn_target'         => true,
                'header_btn_radius'         => 0,
            ),      
        );
        $header_buttons = get_theme_mod( 'header_button_repeater', $header_btn_defaults );
        $i = 1;
        foreach( $header_buttons as $value ){
            if( !empty( $value['header_btn_text'] ) ){
                $link_target = '';
                if( $value['header_btn_target'] ){
                    $link_target = '_blank';
                }else {
                    $link_target = '';
                } ?>
                <a href="<?php echo esc_url( $value['header_btn_link'] ); ?>" target="<?php echo esc_attr( $link_target ); ?>" class="header-btn-<?php echo $i.' '.esc_attr( $value['header_btn_type'] ); ?>">
                    <?php echo esc_html( $value['header_btn_text'] ); ?>
                </a>    
            <?php }
            $i++;
        }
    }
}

if( !function_exists( 'bosa_get_intermediate_image_sizes' ) ){
    /**
    * Array of image sizes.
    * 
    * @since Bosa Plumber 1.0.0
    * @return array
    */
    function bosa_get_intermediate_image_sizes(){

        $data   = array(
            'full'          => esc_html__( 'Full Size', 'bosa-plumber' ),
            'large'         => esc_html__( 'Large Size', 'bosa-plumber' ),
            'medium'        => esc_html__( 'Medium Size', 'bosa-plumber' ),
            'medium_large'  => esc_html__( 'Medium Large Size', 'bosa-plumber' ),
            'thumbnail'     => esc_html__( 'Thumbnail Size', 'bosa-plumber' ),
            '1536x1536'     => esc_html__( '1536x1536 Size', 'bosa-plumber' ),
            '2048x2048'     => esc_html__( '2048x2048 Size', 'bosa-plumber' ),
            'bosa-1920-550' => esc_html__( '1920x550 Size', 'bosa-plumber' ),
            'bosa-1370-550' => esc_html__( '1370x550 Size', 'bosa-plumber' ),
            'bosa-590-310'  => esc_html__( '590x310 Size', 'bosa-plumber' ),
            'bosa-420-380'  => esc_html__( '420x380 Size', 'bosa-plumber' ),
            'bosa-420-300'  => esc_html__( '420x300 Size', 'bosa-plumber' ),
            'bosa-420-200'  => esc_html__( '420x200 Size', 'bosa-plumber' ),
            'bosa-290-150'  => esc_html__( '290x150 Size', 'bosa-plumber' ),
            'bosa-80-60'    => esc_html__( '80x60 Size', 'bosa-plumber' ),
        );
        
        return $data;

    }
}

if( !function_exists( 'bosa_plumber_archive_post_layout_filter' ) ){
    /**
    * Filter of archive post layout choices.
    * 
    * @since Bosa Plumber 1.0.0
    * @return array
    */
    add_filter( 'bosa_archive_post_layout_filter', 'bosa_plumber_archive_post_layout_filter' );
    function bosa_plumber_archive_post_layout_filter( $post_layout ){
        $added_post_layout = array(
            'grid-thumbnail' => get_stylesheet_directory_uri() . '/assets/images/thumbnail-layout.png',
        );
        return array_merge( $post_layout, $added_post_layout );
    }
}

if( !function_exists( 'bosa_plumber_header_layout_filter' ) ){
    /**
    * Filter of header layout choices.
    * 
    * @since Bosa Plumber 1.0.0
    * @return array
    */
    add_filter( 'bosa_header_layout_filter', 'bosa_plumber_header_layout_filter' );
    function bosa_plumber_header_layout_filter( $header_layout ){
        $added_header = array(
            'header_thirteen'   => get_stylesheet_directory_uri() . '/assets/images/header-layout-13.png',
        );
        return array_merge( $header_layout, $added_header );
    }
}

if( !function_exists( 'bosa_plumber_footer_layout_filter' ) ){
    /**
    * Filter of footer layout choices.
    * 
    * @since Bosa Plumber 1.0.0
    * @return array
    */
    add_filter( 'bosa_footer_layout_filter', 'bosa_plumber_footer_layout_filter' );
    function bosa_plumber_footer_layout_filter( $footer_layout ){
        $added_footer = array(
            'footer_eight'  => get_stylesheet_directory_uri() . '/assets/images/footer-layout-8.png',
        );
        return array_merge( $footer_layout, $added_footer );
    }
}

/**
* Get woocommerce product categories.
* 
* @since Bosa Plumber 1.0.0
* @uses get_categories()
* @return array
*/
function bosa_plumber_get_product_categories(){

    $categories = get_categories( 'taxonomy=product_cat' );

    if( empty($categories) || !is_array( $categories ) ){
        return array();
    }

    $data = array();
    foreach ( $categories as $key => $value) {
        $cat_ID = absint( $value->cat_ID );
        $data[$cat_ID] =  esc_html( $value->name );
    }
    return $data;

}

if( !function_exists( 'bosa_has_header_buttons' ) ){
    /**
    * Check if header button text is empty.
    * 
    * @since Bosa Pro 1.1.5
    * @return bool
    */
    function bosa_has_header_buttons(){
        $header_btn_defaults = array(
            array(
                'header_btn_type'           => 'button-outline',
                'header_btn_bg_color'       => '#EB5A3E',
                'header_btn_border_color'   => '#1a1a1a',
                'header_btn_text_color'     => '#1a1a1a',
                'header_btn_hover_color'    => '#086abd',
                'header_btn_text'           => '',
                'header_btn_link'           => '',
                'header_btn_target'         => true,
                'header_btn_radius'         => 0,
            ),      
        );
        $header_buttons = get_theme_mod( 'header_button_repeater', $header_btn_defaults );
        $has_header_btn = false;
        if ( is_array( $header_buttons ) ){
            foreach( $header_buttons as $value ){
                if( !empty( $value['header_btn_text'] ) ){
                    $has_header_btn = true;
                    break;
                }
            }
        }
        return $has_header_btn;
    }
}

if( !function_exists( 'bosa_header_buttons' ) ){
    /**
    * Add header buttons.
    * 
    * @since Bosa Pro 1.1.5
    */
    function bosa_header_buttons(){
        $header_btn_defaults = array(
            array(
                'header_btn_type'           => 'button-outline',
                'header_btn_bg_color'       => '#EB5A3E',
                'header_btn_border_color'   => '#1a1a1a',
                'header_btn_text_color'     => '#1a1a1a',
                'header_btn_hover_color'    => '#086abd',
                'header_btn_text'           => '',
                'header_btn_link'           => '',
                'header_btn_target'         => true,
                'header_btn_radius'         => 0,
            ),      
        );
        $header_buttons = get_theme_mod( 'header_button_repeater', $header_btn_defaults );
        $i = 1;
        foreach( $header_buttons as $value ){
            if( !empty( $value['header_btn_text'] ) ){
                $link_target = '';
                if( $value['header_btn_target'] ){
                    $link_target = '_blank';
                }else {
                    $link_target = '';
                } ?>
                <a href="<?php echo esc_url( $value['header_btn_link'] ); ?>" target="<?php echo esc_attr( $link_target ); ?>" class="header-btn-<?php echo esc_attr( $i ).' '.esc_attr( $value['header_btn_type'] ); ?>">
                    <?php echo esc_html( $value['header_btn_text'] ); ?>
                </a>    
            <?php }
            $i++;
        }
    }
}
add_theme_support( "title-tag" );
add_theme_support( 'automatic-feed-links' );
// Title etiketini otomatik uppercase yap
add_filter( 'document_title_parts', function( $title_parts ) {
    foreach( $title_parts as $key => $value ) {
        $title_parts[$key] = mb_strtoupper( $value, 'UTF-8' );
    }
    return $title_parts;
});

// === SU TESİSATÇISI BERAT - SİTE GENELİ AYARLAR === //
define( 'SITE_NAME', 'Su Tesisatçısı Berat' );
define( 'SITE_PHONE', '+90 534 383 7758' );
define( 'SITE_EMAIL', 'info@sutesisatcisiberat.com' );
define( 'SITE_ADDRESS', 'İstanbul Anadolu Yakası, Kocaeli Bölgesi' );
define( 'SITE_DESCRIPTION', 'Su kaçağı tespiti, tıkanıklık açma, musluk tamiri ve tüm su tesisatçılık hizmetleri. 24/7 acil hizmet.' );

// Türkçe stringleri tanımla
if ( ! function_exists( 'sutesisatcisiberat_register_strings' ) ) {
    function sutesisatcisiberat_register_strings() {
        $strings = array(
            'menu_hizmetler' => 'Hizmetlerimiz',
            'menu_hakkimizda' => 'Hakkımızda',
            'menu_iletisim' => 'İletişim',
            'menu_blog' => 'Blog',
            'menu_bolge' => 'Bölgeler',
            'footer_haklar' => 'Tüm Hakları Saklıdır',
            'footer_tasarimi' => 'Web Tasarımı',
            'footer_hizmet_saatleri' => '24/7 Açık',
            'btn_iletisim' => 'Bize Ulaşın',
            'btn_teklif' => 'Hızlı Teklif Al',
            'btn_randevu' => 'Randevu Al',
            'cta_baslik' => 'Acil Su Tesisatçısı Gerekiyor?',
            'cta_alt' => 'Kırmadan kaçak tespiti, hızlı müdahale, garantili çözüm. İstanbul Anadolu Yakası ve Kocaeli\'de tek tıkla uzman tesisatçıya ulaşın!',
            'hizmet_tumu' => 'Tüm Hizmetler',
            'bolge_tumu' => 'Tüm Bölgeler',
        );
        return $strings;
    }
}

// Telefon numarası filter'ı
if ( ! function_exists( 'get_site_phone' ) ) {
    function get_site_phone() {
        return apply_filters( 'sutesisatcisiberat_phone', SITE_PHONE );
    }
}

// E-mail filter'ı
if ( ! function_exists( 'get_site_email' ) ) {
    function get_site_email() {
        return apply_filters( 'sutesisatcisiberat_email', SITE_EMAIL );
    }
}

// Site açıklaması filter'ı
if ( ! function_exists( 'get_site_description' ) ) {
    function get_site_description() {
        return apply_filters( 'sutesisatcisiberat_description', SITE_DESCRIPTION );
    }
}

// === Su Tesisatçısı Berat - Dynamic Service + Review Schema === //
function sutesisatcisiberat_schema_master() {
    if (is_singular(array('page', 'post'))) {  // <-- PAGES + POSTS
        global $post;
        $slug = basename(get_permalink($post->ID));

        $base_url = "https://www.sutesisatcisiberat.com";
        $logo_url = $base_url . "/wp-content/uploads/logo.png";
        $image_url = $base_url . "/wp-content/uploads/su-tesisatcisi-berat.jpg";

        // === HİZMETLER VE FİYATLAR === //
        $services = [
            // === SU KAÇAĞI TESPİTİ HİZMETLERİ ===
            "daire-su-kacagi-tespiti" => [
                "name" => "Daire Su Kaçağı Tespiti",
                "description" => "Daire içindeki su kaçağını kırmadan, akustik cihazlarla nokta atışı tespit ediyoruz.",
                "price" => "1000"
            ],
            "villa-su-kacagi-tespiti" => [
                "name" => "Villa Su Kaçağı Tespiti",
                "description" => "Villa ve müstakil evlerde su kaçağı tespiti. Bahçe, duvarlar ve zemin altı kaçakları.",
                "price" => "1200"
            ],
            "ofis-su-kacagi-tespiti" => [
                "name" => "Ofis Su Kaçağı Tespiti",
                "description" => "Ticari ofis binalarında profesyonel su kaçağı tespiti hizmeti.",
                "price" => "1000"
            ],
            "apartman-su-kacagi-tespiti" => [
                "name" => "Apartman Su Kaçağı Tespiti",
                "description" => "Apartman dairelerinde ve ortak alanlarında su kaçağı tespiti.",
                "price" => "1000"
            ],
            "bahce-su-kacagi-tespiti" => [
                "name" => "Bahçe Su Kaçağı Tespiti",
                "description" => "Bahçe sulaması ve bahçe hatlarında su kaçağı tespiti.",
                "price" => "1200"
            ],
            "sicak-su-kacagi-tespiti" => [
                "name" => "Sıcak Su Kaçağı Tespiti",
                "description" => "Sıcak su hattındaki kaçakları termal kamera ile tespit ediyoruz.",
                "price" => "1500"
            ],
            "soguk-su-kacagi-tespiti" => [
                "name" => "Soğuk Su Kaçağı Tespiti",
                "description" => "Soğuk su borusundaki tüm kaçakları akustik cihazlarla buluyoruz.",
                "price" => "1000"
            ],
            "zemin-alti-su-kacagi-tespiti" => [
                "name" => "Zemin Altı Su Kaçağı Tespiti",
                "description" => "Zeminle ve duvarların arası su kaçakları profesyonel olarak tespit ediyoruz.",
                "price" => "1500"
            ],
            "gomme-rezervuar-su-kacagi-tespiti" => [
                "name" => "Gömme Rezervuar Su Kaçağı Tespiti",
                "description" => "Su depo ve gömme rezervuarlarındaki kaçakları tespit ederiz.",
                "price" => "2000"
            ],
            "mutfak-su-kacagi-tespiti" => [
                "name" => "Mutfak Su Kaçağı Tespiti",
                "description" => "Mutfak tezgahı altı, musluklar ve giderlerdeki su kaçağı tespiti.",
                "price" => "1000"
            ],
            "banyo-su-kacagi-tespiti" => [
                "name" => "Banyo Su Kaçağı Tespiti",
                "description" => "Banyo döşeme altı, duvarlar ve krom boruların kaçakları tespit ediyoruz.",
                "price" => "1200"
            ],
            "klozet-alti-su-kacagi-tespiti" => [
                "name" => "Klozet Altı Su Kaçağı Tespiti",
                "description" => "Klozet altında ve civarındaki su kaçakları profesyonel olarak tespit ediyoruz.",
                "price" => "1000"
            ],
            "ana-hat-su-kacagi-tespiti" => [
                "name" => "Ana Hat Su Kaçağı Tespiti",
                "description" => "Binanın ana su hattındaki kaçakları tespit ederiz.",
                "price" => "1500"
            ],
            "pis-su-borusu-kacagi-tespiti" => [
                "name" => "Pis Su Borusu Kaçağı Tespiti",
                "description" => "Atık su ve pis su borularındaki kaçakları tespit ediyoruz.",
                "price" => "1200"
            ],
            "temiz-su-hatti-kacagi-tespiti" => [
                "name" => "Temiz Su Hattı Kaçağı Tespiti",
                "description" => "İçme suyunun temiz su hatlarındaki kaçakları tespit ederiz.",
                "price" => "1000"
            ],
            "kombi-su-kacagi-tespiti" => [
                "name" => "Kombi Su Kaçağı Tespiti",
                "description" => "Kombi etrafındaki ve kombi hatlarındaki su kaçağı tespit ediyoruz.",
                "price" => "1000"
            ],
            "petek-tesisati-su-kacagi-tespiti" => [
                "name" => "Petek Tesisatı Su Kaçağı Tespiti",
                "description" => "Radyatör ve petek sistemlerindeki su kaçağı tespit ederiz.",
                "price" => "1200"
            ],
            "duvar-ici-su-kacagi-tespiti" => [
                "name" => "Duvar İçi Su Kaçağı Tespiti",
                "description" => "Duvar içerisine gömülü boruların kaçakları tespit ediyoruz.",
                "price" => "1500"
            ],
            "parke-alti-su-kacagi-tespiti" => [
                "name" => "Parke Altı Su Kaçağı Tespiti",
                "description" => "Parke ve ahşap döşeme altındaki su kaçağı tespit ediyoruz.",
                "price" => "1200"
            ],
            "bodrum-su-kacagi-tespiti" => [
                "name" => "Bodrum Su Kaçağı Tespiti",
                "description" => "Bodrum katında zemin ve duvarlardan su kaçağı tespit ederiz.",
                "price" => "1500"
            ],
            "dukkan-su-kacagi-tespiti" => [
                "name" => "Dükkan Su Kaçağı Tespiti",
                "description" => "Dükkan ve işyerlerinde su kaçağı tespiti hizmeti.",
                "price" => "1000"
            ],
            "sitenin-ortak-alani-su-kacagi-tespiti" => [
                "name" => "Sitenin Ortak Alanı Su Kaçağı Tespiti",
                "description" => "Site ortak alanlarında su kaçakları tespit ediyoruz.",
                "price" => "1500"
            ],
            "ticari-bina-su-kacagi-tespiti" => [
                "name" => "Ticari Bina Su Kaçağı Tespiti",
                "description" => "Ticari binaların tüm kademelerinde su kaçağı tespiti.",
                "price" => "1500"
            ],
            "endustriyel-tesis-su-kacagi-tespiti" => [
                "name" => "Endüstriyel Tesis Su Kaçağı Tespiti",
                "description" => "Endüstriyel tesisat sistemlerinde profesyonel kaçak tespiti.",
                "price" => "2000"
            ],

            // === TIKANILIK AÇMA HİZMETLERİ ===
            "tuvalet-tikanikligi-acma" => [
                "name" => "Tuvalet Tıkanıklığı Açma",
                "description" => "Klozet tıkanıklığını robot sistemle kırmadan açıyoruz.",
                "price" => "1000"
            ],
            "lavabo-tikanikligi-acma" => [
                "name" => "Lavabo Tıkanıklığı Açma",
                "description" => "Lavabo giderindeki tıkanıklığı profesyonel ekiplerle açarız.",
                "price" => "1000"
            ],
            "mutfak-tikanikligi-acma" => [
                "name" => "Mutfak Tıkanıklığı Açma",
                "description" => "Mutfak tezgahı altı tıkanıklığını yağ tutucu temizlemesiyle açıyoruz.",
                "price" => "1200"
            ],
            "banyo-tikanikligi-acma" => [
                "name" => "Banyo Tıkanıklığı Açma",
                "description" => "Banyo gideri ve duş giderindeki tıkanıklıkları açıyoruz.",
                "price" => "1000"
            ],
            "gider-tikanikligi-acma" => [
                "name" => "Gider Tıkanıklığı Açma",
                "description" => "Genel gider hatlarındaki tıkanıklıkları profesyonel olarak açarız.",
                "price" => "1200"
            ],
            "logar-tikanikligi-acma" => [
                "name" => "Logar Tıkanıklığı Açma",
                "description" => "Çatı logar ve yağmur oluğundaki tıkanıklıkları açıyoruz.",
                "price" => "1000"
            ],
            "kanal-tikanikligi-acma" => [
                "name" => "Kanal Tıkanıklığı Açma",
                "description" => "Bina ana kanallarındaki tıkanıklıkları açıyoruz.",
                "price" => "1500"
            ],
            "pimas-tikanikligi-acma" => [
                "name" => "Pimaş Tıkanıklığı Açma",
                "description" => "Pimaş bölümündeki tıkanıklıkları profesyonel olarak açarız.",
                "price" => "1200"
            ],
            "dus-gideri-tikanikligi-acma" => [
                "name" => "Duş Gideri Tıkanıklığı Açma",
                "description" => "Duş ve depo giderindeki tıkanıklıkları robot ile açıyoruz.",
                "price" => "1000"
            ],
            "kuvet-gideri-acma" => [
                "name" => "Küvet Gideri Açma",
                "description" => "Küvet giderindeki tıkanıklıkları profesyonel olarak açarız.",
                "price" => "1000"
            ],
            "camasir-gideri-tikanikligi-acma" => [
                "name" => "Çamaşır Gideri Tıkanıklığı Açma",
                "description" => "Çamaşır makinesi giderindeki tıkanıklıkları açıyoruz.",
                "price" => "1000"
            ],
            "ana-hat-tikanikligi-acma" => [
                "name" => "Ana Hat Tıkanıklığı Açma",
                "description" => "Binanın ana atık su hatlarındaki tıkanıklıkları açıyoruz.",
                "price" => "1500"
            ],
            "bahce-gideri-tikanikligi-acma" => [
                "name" => "Bahçe Gideri Tıkanıklığı Açma",
                "description" => "Bahçe ve açık alan giderlerindeki tıkanıklıkları açıyoruz.",
                "price" => "1200"
            ],
            "bodrum-gideri-tikanikligi-acma" => [
                "name" => "Bodrum Gideri Tıkanıklığı Açma",
                "description" => "Bodrum katı giderlerindeki tıkanıklıkları profesyonel olarak açarız.",
                "price" => "1200"
            ],
            "yag-tutucu-tikanikligi-acma" => [
                "name" => "Yağ Tutucu Tıkanıklığı Açma",
                "description" => "Yağ tutucunun temizlenmesi ve tıkanıklık açılması.",
                "price" => "1500"
            ],
            "endustriyel-gider-tikanikligi-acma" => [
                "name" => "Endüstriyel Gider Tıkanıklığı Açma",
                "description" => "Fabrika ve endüstriyel tesislerin gider tıkanıklıklarını açıyoruz.",
                "price" => "2000"
            ],
            "kamera-ile-tikaniklik-tespiti-acma" => [
                "name" => "Kamera ile Tıkanıklık Tespiti ve Açma",
                "description" => "Yüksek teknoloji endoskop kamerası ile tıkanıklığı tespit edip açıyoruz.",
                "price" => "1500"
            ],

            // === BÖLGESEL SU TESİSATÇI HİZMETLERİ ===
            "atasehir-su-tesisatcisi" => [
                "name" => "Ataşehir Su Tesisatçısı",
                "description" => "Ataşehir bölgesinde tüm su tesisatçılık hizmetleri.",
                "price" => "1000"
            ],
            "umraniye-su-tesisatcisi" => [
                "name" => "Ümraniye Su Tesisatçısı",
                "description" => "Ümraniye'de 24/7 acil su tesisatçısı hizmeti.",
                "price" => "1000"
            ],
            "uskudar-su-tesisatcisi" => [
                "name" => "Üsküdar Su Tesisatçısı",
                "description" => "Üsküdar ilçesinde profesyonel su tesisatçı.",
                "price" => "1000"
            ],
            "kadikoy-su-tesisatcisi" => [
                "name" => "Kadıköy Su Tesisatçısı",
                "description" => "Kadıköy'de hızlı ve güvenilir su tesisatçı.",
                "price" => "1000"
            ],
            "maltepe-su-tesisatcisi" => [
                "name" => "Maltepe Su Tesisatçısı",
                "description" => "Maltepe bölgesinde 24 saat su kaçağı ve tıkanıklık hizmeti.",
                "price" => "1000"
            ],
            "kartal-su-tesisatcisi" => [
                "name" => "Kartal Su Tesisatçısı",
                "description" => "Kartal'da acil su tesisatçı ve kaçak tespiti.",
                "price" => "1000"
            ],
            "pendik-su-tesisatcisi" => [
                "name" => "Pendik Su Tesisatçısı",
                "description" => "Pendik'te profesyonel su kaçağı tespiti ve tıkanıklık açma.",
                "price" => "1000"
            ],
            "tuzla-su-tesisatcisi" => [
                "name" => "Tuzla Su Tesisatçısı",
                "description" => "Tuzla bölgesinde tüm su tesisatçılık sorunları çözülür.",
                "price" => "1000"
            ],
            "sancaktepe-su-tesisatcisi" => [
                "name" => "Sancaktepe Su Tesisatçısı",
                "description" => "Sancaktepe'de hızlı müdahale ve profesyonel hizmet.",
                "price" => "1000"
            ],
            "sultanbeyli-su-tesisatcisi" => [
                "name" => "Sultanbeyli Su Tesisatçısı",
                "description" => "Sultanbeyli'de 24/7 su tesisatçı hizmeti.",
                "price" => "1000"
            ],
            "cekmekoy-su-tesisatcisi" => [
                "name" => "Çekmeköy Su Tesisatçısı",
                "description" => "Çekmeköy bölgesinde profesyonel su kaçağı ve tıkanıklık hizmeti.",
                "price" => "1000"
            ],
            "beykoz-su-tesisatcisi" => [
                "name" => "Beykoz Su Tesisatçısı",
                "description" => "Beykoz'da acil su tesisatçı ve tamir hizmeti.",
                "price" => "1000"
            ],
            "sile-su-tesisatcisi" => [
                "name" => "Şile Su Tesisatçısı",
                "description" => "Şile'de profesyonel su tesisatçı ve bakım hizmeti.",
                "price" => "1200"
            ],
            "gebze-su-tesisatcisi" => [
                "name" => "Gebze Su Tesisatçısı",
                "description" => "Gebze'de 24 saat su tesisatçı hizmeti (Kocaeli bölgesi).",
                "price" => "1000"
            ],
            "darica-su-tesisatcisi" => [
                "name" => "Darıca Su Tesisatçısı",
                "description" => "Darıca'da acil su kaçağı ve tıkanıklık çözümleri.",
                "price" => "1000"
            ],
            "cayirova-su-tesisatcisi" => [
                "name" => "Çayırova Su Tesisatçısı",
                "description" => "Çayırova'da profesyonel su tesisatçı hizmeti.",
                "price" => "1000"
            ],
            "dilovasi-su-tesisatcisi" => [
                "name" => "Dilovası Su Tesisatçısı",
                "description" => "Dilovası'nda hızlı müdahale su tesisatçısı.",
                "price" => "1000"
            ]
        ];

        // === MÜŞTERİ YORUMLARI === //
        $reviews = [
            [
                "@type" => "Review",
                "author" => [ "@type" => "Person", "name" => "Ahmet Yıldız" ],
                "reviewBody" => "Gece çağırdım, 30 dakikada geldiler. Su kaçağını kırmadan buldular. Profesyonel ve temiz işçilik.",
                "reviewRating" => [ "@type" => "Rating", "ratingValue" => "5", "bestRating" => "5" ],
                "itemReviewed" => [
                    "@type" => "Plumber",
                    "name" => "Su Tesisatçısı Berat",
                    "image" => $image_url,
                    "priceRange" => "₺₺",
                    "address" => [
                        "@type" => "PostalAddress",
                        "addressLocality" => "İstanbul",
                        "addressRegion" => "Anadolu Yakası",
                        "addressCountry" => "TR"
                    ]
                ]
            ],
            [
                "@type" => "Review",
                "author" => [ "@type" => "Person", "name" => "Gülşah Demir" ],
                "reviewBody" => "Tıkanıklık açma hizmeti aldım, hızlı ve uygun fiyatlı. Kesinlikle tavsiye ederim.",
                "reviewRating" => [ "@type" => "Rating", "ratingValue" => "5", "bestRating" => "5" ],
                "itemReviewed" => [
                    "@type" => "Plumber",
                    "name" => "Su Tesisatçısı Berat",
                    "image" => $image_url,
                    "priceRange" => "₺₺",
                    "address" => [
                        "@type" => "PostalAddress",
                        "addressLocality" => "İstanbul",
                        "addressRegion" => "Anadolu Yakası",
                        "addressCountry" => "TR"
                    ]
                ]
            ],
            [
                "@type" => "Review",
                "author" => [ "@type" => "Person", "name" => "Mehmet Kaya" ],
                "reviewBody" => "Musluk değişimi yaptırdım, ustalar güler yüzlü ve işinin ehliydi.",
                "reviewRating" => [ "@type" => "Rating", "ratingValue" => "5", "bestRating" => "5" ],
                "itemReviewed" => [
                    "@type" => "Plumber",
                    "name" => "Su Tesisatçısı Berat",
                    "image" => $image_url,
                    "priceRange" => "₺₺",
                    "address" => [
                        "@type" => "PostalAddress",
                        "addressLocality" => "İstanbul",
                        "addressRegion" => "Anadolu Yakası",
                        "addressCountry" => "TR"
                    ]
                ]
            ]
        ];

        // === ANA BUSINESS SCHEMA === //
        $business_schema = [
            "@context" => "https://schema.org",
            "@type" => "HomeAndConstructionBusiness",
            "name" => "Su Tesisatçısı Berat",
            "url" => $base_url,
            "logo" => $logo_url,
            "image" => $image_url,
            "description" => "Su Tesisatçısı Berat — İstanbul Anadolu Yakası ve çevresinde profesyonel su tesisatçısı, su kaçağı tespiti, tıkanıklık açma ve musluk tamiri hizmetleri sunar.",
            "telephone" => "+905343837758",
            "priceRange" => "₺₺",
            "address" => [
                "@type" => "PostalAddress",
                "addressLocality" => "İstanbul",
                "addressRegion" => "Anadolu Yakası",
                "postalCode" => "34000",
                "addressCountry" => "TR",
                "streetAddress" => "İstanbul Anadolu Yakası"
            ],
            "areaServed" => [
                "@type" => "City",
                "name" => "İstanbul"
            ],
            "contactPoint" => [
                "@type" => "ContactPoint",
                "telephone" => "+905343837758",
                "contactType" => "Customer Service",
                "availableLanguage" => ["Turkish"]
            ],
            "aggregateRating" => [
                "@type" => "AggregateRating",
                "ratingValue" => "4.9",
                "reviewCount" => "187"
            ],
            "review" => $reviews
        ];

        // === SAYFAYA ÖZEL SERVICE SCHEMA === //
        if (array_key_exists($slug, $services)) {
            $service = $services[$slug];

            $service_schema = [
                "@context" => "https://schema.org",
                "@type" => "Service",
                "serviceType" => $service["name"],
                "provider" => [
                    "@type" => "Plumber",
                    "name" => "Su Tesisatçısı Berat",
                    "image" => $image_url,
                    "telephone" => "+905343837758",
                    "priceRange" => "₺₺",
                    "url" => $base_url,
                    "address" => [
                        "@type" => "PostalAddress",
                        "addressLocality" => "İstanbul",
                        "addressRegion" => "Anadolu Yakası",
                        "addressCountry" => "TR"
                    ]
                ],
                "description" => $service["description"],
                "offers" => [
                    "@type" => "Offer",
                    "priceCurrency" => "TRY",
                    "price" => $service["price"],
                    "availability" => "https://schema.org/InStock",
                    "url" => get_permalink($post->ID)
                ],
                "aggregateRating" => [
                    "@type" => "AggregateRating",
                    "ratingValue" => "4.9",
                    "reviewCount" => "187"
                ],
                "review" => $reviews
            ];

            echo '<script type="application/ld+json">' . json_encode($service_schema, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . '</script>';
        }

        // === POST TİPİ İÇİN DİNAMİK SERVICE SCHEMA === //
        if (is_singular('post')) {
            $ilce = get_post_meta($post->ID, '_ilce', true);
            $mahalle = get_post_meta($post->ID, '_mahalle', true);
            $hizmet = get_post_meta($post->ID, '_hizmet', true);
            
            if ($ilce && $hizmet) {
                // Post title'ı service name olarak kullan
                $service_name = get_the_title($post->ID);
                $post_description = wp_trim_words(get_the_excerpt($post->ID), 20);
                
                if (empty($post_description)) {
                    $post_description = $ilce . ' bölgesinde profesyonel ' . $hizmet . ' hizmeti. 24/7 acil hizmet, hızlı müdahale, profesyonel ekip.';
                }
                
                $post_service_schema = [
                    "@context" => "https://schema.org",
                    "@type" => "Service",
                    "serviceType" => $service_name,
                    "name" => $service_name,
                    "provider" => [
                        "@type" => "Plumber",
                        "name" => "Su Tesisatçısı Berat",
                        "image" => $image_url,
                        "telephone" => "+905343837758",
                        "priceRange" => "₺₺",
                        "url" => $base_url,
                        "areaServed" => $ilce . ($mahalle ? ' - ' . $mahalle : ''),
                        "address" => [
                            "@type" => "PostalAddress",
                            "addressLocality" => "İstanbul",
                            "addressRegion" => "Anadolu Yakası",
                            "addressCountry" => "TR"
                        ]
                    ],
                    "description" => $post_description,
                    "offers" => [
                        "@type" => "Offer",
                        "priceCurrency" => "TRY",
                        "price" => "1000",
                        "availability" => "https://schema.org/InStock",
                        "url" => get_permalink($post->ID)
                    ],
                    "areaServed" => [
                        "@type" => "City",
                        "name" => $ilce
                    ],
                    "aggregateRating" => [
                        "@type" => "AggregateRating",
                        "ratingValue" => "4.9",
                        "reviewCount" => "187"
                    ],
                    "review" => $reviews
                ];
                
                echo '<script type="application/ld+json">' . json_encode($post_service_schema, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . '</script>';
            }
        }

        // === ORGANIZATION SCHEMA === //
        $organization_schema = [
            "@context" => "https://schema.org",
            "@type" => "Organization",
            "name" => "Su Tesisatçısı Berat",
            "url" => $base_url,
            "logo" => $logo_url,
            "contactPoint" => [
                "@type" => "ContactPoint",
                "telephone" => "+905343837758",
                "contactType" => "Customer Service",
                "areaServed" => "TR",
                "availableLanguage" => ["Turkish"]
            ]
        ];

        // === FAQ SCHEMA === //
        $faq_schema = [
            "@context" => "https://schema.org",
            "@type" => "FAQPage",
            "mainEntity" => [
                [
                    "@type" => "Question",
                    "name" => "Kırmadan su kaçağı nasıl bulunur?",
                    "acceptedAnswer" => [
                        "@type" => "Answer",
                        "text" => "Akustik dinleme cihazı ve termal kamera kullanarak su kaçağını nokta atışı tespit ediyoruz."
                    ]
                ],
                [
                    "@type" => "Question",
                    "name" => "Tıkanıklık açma işlemi ne kadar sürer?",
                    "acceptedAnswer" => [
                        "@type" => "Answer",
                        "text" => "Genellikle 30-45 dakika içinde robot sistemlerle açma işlemi tamamlanır."
                    ]
                ],
                [
                    "@type" => "Question",
                    "name" => "Fiyatlarınız ne kadar?",
                    "acceptedAnswer" => [
                        "@type" => "Answer",
                        "text" => "Tüm hizmetlerimiz 1000₺'den başlayan fiyatlarla sunulmaktadır."
                    ]
                ]
            ]
        ];

        // === HEPSİNİ HEAD İÇİNE YAZ === //
        echo '<script type="application/ld+json">' . json_encode($business_schema, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . '</script>';
        echo '<script type="application/ld+json">' . json_encode($faq_schema, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . '</script>';
        echo '<script type="application/ld+json">' . json_encode($organization_schema, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . '</script>';
    }
}
add_action('wp_head', 'sutesisatcisiberat_schema_master');

// === CHILD THEME TÜRKÇELEŞTİRME FİLTERLERİ === //
// Parent tema string'lerini override et
add_filter('gettext', 'bosa_plumber_turkce_ceviriler', 20, 3);
function bosa_plumber_turkce_ceviriler($translated, $original, $domain) {
    $ceviriler = array(
        'Home' => 'Anasayfa',
        'About Us' => 'Hakkımızda',
        'Services' => 'Hizmetlerimiz',
        'Blog' => 'Blog',
        'Contact Us' => 'İletişim',
        'Primary Menu' => 'Ana Menü',
        'QUALITY PLUMBING SERVICES' => 'KALİTELİ SU TESİSATÇI HİZMETLERİ',
        'We Provide Top Notch Plumbing & Repair Services' => 'Su Tesisatçısı Berat Olarak Profesyonel Hizmet Sunuyoruz',
        'GET STARTED' => 'BAŞLA',
        'Continue reading' => 'Devamını Oku',
        'Read More' => 'Daha Fazla Oku',
    );
    
    if (isset($ceviriler[$original])) {
        $translated = $ceviriler[$original];
    }
    
    return $translated;
}

// === MAHALLE HİZMETLERİ BULK İMPORT SISTEMI === //
// Admin menüsüne import sayfası ekle
add_action('admin_menu', function() {
    add_management_page(
        'İçerik Oluştur',
        'İçerik Oluştur',
        'manage_options',
        'import-mahalle-hizmetleri',
        'mahalle_hizmetleri_import_page'
    );
});

// Import sayfasını render et
function mahalle_hizmetleri_import_page() {
    ?>
    <div class="wrap">
        <h1>📝 İçerik Oluştur - İlçe & Mahalle Yazıları</h1>
        
        <form method="post" action="">
            <?php wp_nonce_field('import_mahalle_hizmetleri', 'import_nonce'); ?>
            
            <div style="display: flex; gap: 10px; margin-bottom: 20px;">
                <p>
                    <button type="submit" name="start_import" class="button button-primary" style="padding: 10px 20px; font-size: 16px;">
                        ✅ İçerik Oluşturmayı Başlat (2000+ Yazı)
                    </button>
                </p>
                
                <p>
                    <button type="submit" name="delete_all_posts" class="button button-danger" style="padding: 10px 20px; font-size: 16px; background-color: #dc3545; color: white; border-color: #dc3545;">
                        🗑️ Tüm Yazıları Sil
                    </button>
                </p>
            </div>
            
            <div style="background: #f0f0f0; padding: 15px; margin-top: 20px; border-left: 4px solid #0073aa;">
                <h3>📋 Ne Yapacak?</h3>
                <ul>
                    <li>✅ İlçe kategorileri oluştur</li>
                    <li>✅ Her ilçe başına 3 yazı ({ilçe} su tesisatçısı, tıkanıklık, kaçak)</li>
                    <li>✅ Her mahalle başına 3 yazı ({mahalle} Mahallesi su tesisatçısı, tıkanıklık, kaçak)</li>
                    <li>✅ Toplam 2000+ yazı</li>
                    <li>✅ Yoast SEO meta açıklaması</li>
                    <li>✅ Dinamik schema markup</li>
                    <li>✅ Sitemap otomatik güncelleme</li>
                </ul>
            </div>
        </form>
        
        <div id="import-progress" style="display:none; margin-top: 30px;">
            <h3>📊 İthalat İlerleme:</h3>
            <div style="width: 100%; height: 30px; background: #f0f0f0; border-radius: 5px; overflow: hidden;">
                <div id="progress-bar" style="width: 0%; height: 100%; background: #0073aa; transition: width 0.3s;"></div>
            </div>
            <p id="progress-text" style="margin-top: 10px; font-weight: bold;">0 / 2000+ yazı oluşturuluyor...</p>
        </div>
    </div>
    <?php

    if (isset($_POST['start_import']) && check_admin_referer('import_mahalle_hizmetleri', 'import_nonce')) {
        mahalle_hizmetleri_bulk_import();
    }
    
    if (isset($_POST['delete_all_posts']) && check_admin_referer('import_mahalle_hizmetleri', 'import_nonce')) {
        mahalle_hizmetleri_delete_all();
    }
}

// Tüm yazıları sil fonksiyonu
function mahalle_hizmetleri_delete_all() {
    global $wpdb;
    
    echo '<div style="background: #fff; padding: 20px; border-radius: 5px; margin-top: 20px;">';
    echo '<h3>🗑️ Yazılar Siliniyor...</h3>';
    echo '<div style="background: #f0f0f0; padding: 15px; margin: 15px 0; border-radius: 5px;">';
    
    // Tüm post'ları sorgula
    $posts = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'post'");
    
    $silinenSayisi = 0;
    
    foreach ($posts as $post) {
        // Post meta'larını sil
        delete_post_meta($post->ID, '_ilce');
        delete_post_meta($post->ID, '_mahalle');
        delete_post_meta($post->ID, '_hizmet');
        delete_post_meta($post->ID, '_yoast_wpseo_metadesc');
        delete_post_meta($post->ID, '_yoast_wpseo_focuskw');
        delete_post_meta($post->ID, '_yoast_wpseo_title');
        
        // Post'u tamamen sil
        wp_delete_post($post->ID, true);
        
        $silinenSayisi++;
        
        echo '<p>✅ [' . $silinenSayisi . '] Yazı silindi...</p>';
        flush();
    }
    
    // Rewrite rules temizle
    flush_rewrite_rules();
    
    echo '</div>';
    echo '<div style="background: #f8d7da; padding: 15px; border-radius: 5px; border: 1px solid #f5c6cb; margin-top: 15px;">';
    echo '<h3>✅ TAMAMLANDI!</h3>';
    echo '<p><strong>' . $silinenSayisi . '</strong> yazı başarıyla silindi!</p>';
    echo '<p>✅ Yazılar kaldırıldı</p>';
    echo '<p>✅ Meta alanları temizlendi</p>';
    echo '<p>✅ Rewrite rules güncellendi</p>';
    echo '<a href="' . admin_url('edit.php') . '" class="button button-secondary" style="margin-top: 10px; padding: 10px 15px;">Yazıları Kontrol Et</a>';
    echo '</div>';
    echo '</div>';
}

// Bulk import fonksiyonu - POST & CATEGORİES VERSIYONU
function mahalle_hizmetleri_bulk_import() {
    global $wpdb;
    
    // Mahalle ve hizmet verisi
    $mahalle_verisi = array(
        "Ataşehir" => ["Aşıkveysel","Atatürk","Barbaros","Esatpaşa","Ferhatpaşa","Fetih","İçerenköy","İnönü","Kayışdağı","Küçükbakkalköy","Mevlana","Mimarsinan","Mustafa Kemal","Örnek","Yeniçamlıca","Yenişehir","Yenisahra"],
        "Beykoz" => ["Acarlar","Akbaba","Alibahadır","Anadolufeneri","Anadoluhisarı","Anadolukavağı","Baklacı","Bozhane","Cumhuriyet","Çamlıbahçe","Çengeldere","Çiftlik","Çiğdem","Çubuklu","Dereseki","Elmalı","Fatih","Göksu","Göllü","Görele","Göztepe","Gümüşsuyu","İncirköy","İshaklı","Kanlıca","Kavacık","Kaynarca","Kılıçlı","Merkez","Mahmutşevketpaşa","Ortaçeşme","Öğümce","Örnekköy","Paşabahçe","Paşamandıra","Polonezköy","Poyrazköy","Riva","Rüzgarlıbahçe","Soğuksu","Tokatköy","Yalıköy","Yavuzselim","Yenimahalle","Zerzevatçı"],
        "Çekmeköy" => ["Alemdağ","Aydınlar","Cumhuriyet","Çamlık","Çatalmeşe","Ekşioğlu","Güngören","Hamidiye","Hüseyinli","Kirazlıdere","Koçullu","Mehmet Akif","Merkez","Mimar Sinan","Nişantepe","Ömerli","Reşadiye","Sırapınar","Soğukpınar","Sultançiftliği","Taşdelen"],
        "Kadıköy" => ["19 Mayıs","Acıbadem","Bostancı","Caddebostan","Caferağa","Dumlupınar","Eğitim","Erenköy","Fenerbahçe","Feneryolu","Fikirtepe","Göztepe","Hasanpaşa","Koşuyolu","Kozyatağı","Merdivenköy","Osmanağa","Rasimpaşa","Sahrayıcedid","Suadiye","Zühtüpaşa"],
        "Kartal" => ["Atalar","Cevizli","Cumhuriyet","Çavuşoğlu","Esentepe","Gümüşpınar","Hürriyet","Karlıktepe","Kordonboyu","Orhantepe","Ortamahalle","Petrol-İş","Soğanlık","Topselvi","Uğur Mumcu","Yakacık Çarşı","Yakacık Yeni","Yalı","Yukarımahalle","Yunus"],
        "Maltepe" => ["Altayçeşme","Altıntepe","Aydınevler","Bağlarbaşı","Başıbüyük","Büyükbakkalköy","Cevizli","Çınar","Esenkent","Feyzullah","Fındıklı","Girne","Gülensu","Gülsuyu","İdealtepe","Küçükyalı","Yalı","Zümrütevler"],
        "Pendik" => ["Ahmet Yesevi","Bahçelievler","Batı","Çamçeşme","Çamlık","Çınardere","Doğu","Dumlupınar","Ertuğrulgazi","Esenler","Esenyalı","Fatih","Fevzi Çakmak","Güllübağlar","Güzelyalı","Harmandere","Kavakpınar","Kaynarca","Kurtköy","Orhangazi","Orta","Ramazanoğlu","Sanayi","Sapanbağları","Sülüntepe","Şeyhli","Velibaba","Yayalar","Yenimahalle","Yenişehir","Yeşilbağlar"],
        "Sancaktepe" => ["Abdurrahmangazi","Akpınar","Atatürk","Emek","Eyüp Sultan","Fatih","Hilal","İnönü","Kemal Türkler","Meclis","Merve","Mevlana","Osmangazi","Safa","Sarıgazi","Veysel Karani","Yenidoğan","Yunus Emre"],
        "Sultanbeyli" => ["Abdurrahmangazi","Adil","Ahmet Yesevi","Akşemsettin","Battalgazi","Fatih","Hamidiye","Hasanpaşa","Mecidiye","Mehmet Akif","Mimarsinan","Necip Fazıl","Orhangazi","Turgutreis","Yavuz Selim"],
        "Şile" => ["Balibey","Çavuş","Hacıkasım","Kumbaba","Ağaçdere","Ağva Merkez","Ahmetli","Akçakese","Alacalı","Avcıkoru","Bıçkıdere","Bozgoca","Bucaklı","Çataklı","Çayırbaşı","Çelebi","Çengilli","Darlık","Değirmençayırı","Doğancılı","Erenler","Esenceli","Geredeli","Göçe","Gökmaşlı","Göksu","Hasanlı","Hacıllı","İmrendere","İmrenli","İsaköy","Kabakoz","Kadıköy","Kalem","Karabeyli","Karacaköy","Karamandere","Karakiraz","Kervansaray","Kızılca","Korucu","Kurna","Kurfallı","Kömürlük","Meşrutiyet","Oruçoğlu","Osmanköy","Ovacık","Satmazlı","Sahilköy","Soğullu","Sortullu","Sofular","Şuayipli","Teke","Ulupelit","Üvezli","Yazımanayır","Yaka","Yaylalı","Yeniköy","Yeşilvadi"],
        "Tuzla" => ["Akfırat","Anadolu","Aydınlı","Aydıntepe","Cami","Evliya Çelebi","Fatih","İçmeler","İstasyon","Mescit","Mimar Sinan","Orhanlı","Orta","Postane","Şifa","Tepeören","Yayla"],
        "Ümraniye" => ["Adem Yavuz","Altınşehir","Armağanevler","Aşağıdudullu","Atakent","Atatürk","Cemil Meriç","Çakmak","Çamlık","Dumlupınar","Elmalıkent","Esenevler","Esenkent","Esenşehir","Fatih Sultan Mehmet","Finanskent","Hekimbaşı","Huzur","Ihlamurkuyu","İnkılap","İstiklal","Kâzım Karabekir","Madenler","Mehmet Akif","Namık Kemal","Necip Fazıl","Parseller","Site","Şerifali","Tantavi","Tatlısu","Tepeüstü","Topağacı","Yamanevler","Yukarıdudullu"],
        "Üsküdar" => ["Acıbadem","Ahmediye","Altunizade","Aziz Mahmut Hüdayi","Bahçelievler","Barbaros","Beylerbeyi","Bulgurlu","Burhaniye","Cumhuriyet","Çengelköy","Ferah","Güzeltepe","İcadiye","Kandilli","Kirazlıtepe","Kısıklı","Kuleli","Kuzguncuk","Küçük Çamlıca","Küçüksu","Küplüce","Mehmet Akif Ersoy","Mimar Sinan","Muratreis","Salacak","Selami Ali","Selimiye","Sultantepe","Ünalan","Valide-i Atik","Yavuztürk","Zeynep Kamil","Bağlarbaşı","Çamlıca","Doğancılar","Fıstıkağacı","Harem","Haydarpaşa","Nakkaştepe","Paşalimanı","Pazarbaşı","Selamsız","Toptaşı","Vaniköy"],
        "Gebze" => ["Osman Yılmaz","Hacı Halil","Tatlıkuyu","Sultan Orhan","İstasyon","Köşklüçeşme","Mustafapaşa","Ademyavuz","Ahatlı","Arapçeşme","Balçık","Barış","Beylikbağı","Cumaköy","Cumhuriyet","Denizli","Duraklı","Elbizli","Eskihisar","Gaziler","Güzeller","Hatipler","Hürriyet","İnönü","Kadıllı","Kargalı","Kirazpınar","Köşklü Çeşme","Mevlana","Mimar Sinan","Mollafenari","Muallimköy","Mudarli","Mustafapaşa","Ovacık","Pelitli","Sultan Orhan","Tatlıkuyu","Tavşanlı","Tepemanayır","Ulus","Yağcılar","Yavuz Selim","Yenikent"],
        "Çayırova" => ["Akse","Atatürk","Cumhuriyet","Çayırova","Emek","İnönü","Özgürlük","Şekerpınar","Yeni"],
        "Dilovası" => ["Cumhuriyet","Çerkeşli","Demirciler","Diliskelesi","Fatih","Kayapınar","Köseler","Mimar Sinan","Orhangazi","Tavşancıl","Tepecik","Turgut Özal"],
        "Darıca" => ["Abdi İpekçi","Bağlarbaşı","Bayramoğlu","Cami","Emek","Fevziçakmak","Kazımkarabekir","Nenehatun","Osmangazi","Piri Reis","Sırasöğütler","Yalı","Yeni","Zincirlikuyu"]
    );
    
    // Template'leri getir
    $templates = get_content_templates();
    
    echo '<div style="background: #fff; padding: 20px; border-radius: 5px; margin-top: 20px;">';
    echo '<h3>✅ İçerik Oluşturma Başlandı!</h3>';
    echo '<div style="background: #f0f0f0; padding: 15px; margin: 15px 0; border-radius: 5px;">';
    
    $oluşturulan = 0;
    
    // ADIM 1: KATEGORİ OLUŞTUR
    echo '<h4>📁 ADIM 1: İlçe Kategorileri Oluşturuluyor...</h4>';
    $kategori_ids = array();
    
    foreach ($mahalle_verisi as $ilce => $mahalles) {
        $slug = sanitize_title($ilce);
        $varolan_kat = get_term_by('slug', $slug, 'category');
        
        if ($varolan_kat) {
            $kategori_ids[$ilce] = $varolan_kat->term_id;
            echo '<p>✅ Kategori var: <strong>' . $ilce . '</strong></p>';
        } else {
            $yeni_kat = wp_insert_term($ilce, 'category', array('slug' => $slug));
            if (!is_wp_error($yeni_kat)) {
                $kategori_ids[$ilce] = $yeni_kat['term_id'];
                echo '<p>✅ Kategori oluşturuldu: <strong>' . $ilce . '</strong></p>';
            }
        }
        flush();
    }
    
    // ADIM 2: İLÇE YAZILARI OLUŞTUR (1000+ kelime)
    echo '<h4>📝 ADIM 2: İlçe Yazıları (1000+ kelime)...</h4>';
    
    foreach ($mahalle_verisi as $ilce => $mahalles) {
        $kategori_id = isset($kategori_ids[$ilce]) ? $kategori_ids[$ilce] : 0;
        
        foreach ($templates as $service_key => $template) {
            $content = $template['ilce_template'];
            $content = str_replace("{LOCATION}", $ilce, $content);
            
            switch ($service_key) {
                case "su-tesisatcisi":
                    $baslik = $ilce . " Su Tesisatçısı";
                    break;
                case "tikaniklik-acma":
                    $baslik = $ilce . " Tıkanıklık Açma";
                    break;
                case "su-kacagi-tespiti":
                    $baslik = $ilce . " Su Kaçağı Tespiti";
                    break;
            }
            
            $slug = sanitize_title($baslik);
            
            $post_id = wp_insert_post(array(
                'post_title'    => $baslik,
                'post_name'     => $slug,
                'post_type'     => 'post',
                'post_status'   => 'publish',
                'post_content'  => $content,
                'post_category' => array($kategori_id)
            ));
            
            if (!is_wp_error($post_id)) {
                update_post_meta($post_id, '_ilce', $ilce);
                update_post_meta($post_id, '_hizmet', $service_key);
                
                $metadesc = $ilce . " bölgesinde profesyonel " . $service_key . " hizmeti. 24/7 acil hizmet. Hızlı müdahale ve garantili çözüm.";
                update_post_meta($post_id, '_yoast_wpseo_metadesc', $metadesc);
                update_post_meta($post_id, '_yoast_wpseo_focuskw', $baslik);
                update_post_meta($post_id, '_yoast_wpseo_title', $baslik . ' | Su Tesisatçısı Berat');
                
                $oluşturulan++;
                echo '<p>✅ [' . $oluşturulan . '] ' . $baslik . ' (1000+ kelime)</p>';
                flush();
            }
        }
    }
    
    // ADIM 3: MAHALLE YAZILARI OLUŞTUR (500+ kelime)
    echo '<h4>🏘️ ADIM 3: Mahalle Yazıları (500+ kelime)...</h4>';
    
    foreach ($mahalle_verisi as $ilce => $mahalles) {
        $kategori_id = isset($kategori_ids[$ilce]) ? $kategori_ids[$ilce] : 0;
        
        foreach ($mahalles as $mahalle) {
            foreach ($templates as $service_key => $template) {
                $content = $template['mahalle_template'];
                $content = str_replace("{LOCATION}", $mahalle, $content);
                
                switch ($service_key) {
                    case "su-tesisatcisi":
                        $baslik = $mahalle . " Mahallesi Su Tesisatçısı";
                        break;
                    case "tikaniklik-acma":
                        $baslik = $mahalle . " Mahallesi Tıkanıklık Açma";
                        break;
                    case "su-kacagi-tespiti":
                        $baslik = $mahalle . " Mahallesi Su Kaçağı Tespiti";
                        break;
                }
                
                $slug = sanitize_title($mahalle . '-' . $service_key);
                
                $post_id = wp_insert_post(array(
                    'post_title'    => $baslik,
                    'post_name'     => $slug,
                    'post_type'     => 'post',
                    'post_status'   => 'publish',
                    'post_content'  => $content,
                    'post_category' => array($kategori_id)
                ));
                
                if (!is_wp_error($post_id)) {
                    update_post_meta($post_id, '_ilce', $ilce);
                    update_post_meta($post_id, '_mahalle', $mahalle);
                    update_post_meta($post_id, '_hizmet', $service_key);
                    
                    $metadesc = $mahalle . " bölgesinde profesyonel " . $service_key . " hizmeti. 24/7 acil hizmet. Hızlı ve güvenilir çözüm.";
                    update_post_meta($post_id, '_yoast_wpseo_metadesc', $metadesc);
                    update_post_meta($post_id, '_yoast_wpseo_focuskw', $baslik);
                    update_post_meta($post_id, '_yoast_wpseo_title', $baslik . ' | Su Tesisatçısı Berat');
                    
                    $oluşturulan++;
                }
            }
        }
    }
    
    flush_rewrite_rules();
    
    echo '</div>';
    echo '<div style="background: #d4edda; padding: 15px; border-radius: 5px; border: 1px solid #c3e6cb; margin-top: 15px;">';
    echo '<h3>🎉 BAŞARILI!</h3>';
    echo '<p><strong>' . $oluşturulan . '</strong> yazı oluşturuldu!</p>';
    echo '<p>✅ İlçe yazıları: 1000+ kelime</p>';
    echo '<p>✅ Mahalle yazıları: 500+ kelime</p>';
    echo '<p>✅ Dinamik template tabanlı içerik</p>';
    echo '<p>✅ Yoast SEO metadata</p>';
    echo '<p>✅ Rewrite rules temizlendi</p>';
    echo '<a href="' . admin_url('edit.php') . '" class="button button-primary" style="margin-top: 10px; padding: 10px 15px;">Yazıları Görüntüle</a>';
    echo '</div>';
    echo '</div>';
}

// Tüm yazıları sil fonksiyonu

// === CONTENT TEMPLATES (1000+ + 500+ KELİME) === //
function get_content_templates() {
    return array(
        "su-tesisatcisi" => array(
            "ilce_template" => "<p><strong>{LOCATION}'de su tesisatçı arıyorsanız doğru yerdesiniz!</strong> Su Tesisatçısı Berat 15+ yıllık deneyimle {LOCATION} ve çevresinde profesyonel su tesisatçılık hizmetleri sunmaktadır. Tüm su tesisatçılık sorunlarında hızlı müdahale ve garantili çözüm için bizi arayabilirsiniz.</p>{FEATURED_IMAGE}<h2>🏠 {LOCATION}'da Su Tesisatçı Hizmetlerimiz</h2><p>Su Tesisatçısı Berat olarak {LOCATION} bölgesinde aşağıdaki profesyonel hizmetleri sunuyoruz:</p><ul><li><strong>Yeni Su Tesisatı Kurulumu:</strong> Daire, villa ve işyerlerinde tam su tesisatı sistemi kuruyoruz. EN kaliteli malzemeler kullanarak uzun ömürlü çözümler sunuyoruz.</li><li><strong>Su Tesisatı Onarımı:</strong> Bozuk musluklar, boruların çatlakları ve sızıntılarını hızla onarıyoruz.</li><li><strong>Su Tesisatı Bakım:</strong> Periyodik bakım ve kontrol hizmetleriyle tesisatınızın uzun süre problemsiz çalışmasını garantiliyoruz.</li><li><strong>Acil Su Tesisatçı:</strong> 24/7 gece-gündüz acil su tesisatçı hizmetine sahip olup, {LOCATION}'da 30 dakika içinde müdahale ediyoruz.</li><li><strong>Kombi Bağlantısı:</strong> Kombi ve petek sistemi kuruluşu ve bakımı.</li><li><strong>Şofben ve Çatı Tesisatı:</strong> Şofben kurulumu ve çatı yağmur hatları tesisatı.</li></ul><h2>💧 Neden Su Tesisatçısı Berat'ı Seçmelisiniz?</h2><p>{LOCATION} bölgesinde su tesisatçı seçerken kalite ve güvenilirlik önemlidir. Biz aşağıdaki özelliklerle hizmet veriyoruz:</p><ul><li><strong>Deneyimli Ustalar:</strong> Tüm ustalarımız sektörde 15+ yıllık deneyime sahiptir.</li><li><strong>Hızlı Hizmet:</strong> Çağrıdan 30 dakika içinde {LOCATION}'da hizmet verebiliriz.</li><li><strong>Garantili Çözüm:</strong> Tüm işlerimiz 1 yıl garanti altındadır.</li><li><strong>Uygun Fiyatlar:</strong> Pazar şartlarına uygun ve rekabetçi fiyatlarla hizmet sunuyoruz.</li><li><strong>Temiz İşçilik:</strong> İşten sonra tüm atıkları temizleyerek alanı bırakıyoruz.</li><li><strong>Gözlemci Kalitesi:</strong> En iyi kalite malzeme kullanarak uzun ömürlü çözümler sunuyoruz.</li></ul><h2>🚨 Acil Su Sorunu mu Var?</h2><p>{LOCATION}'da su tesisatçısına acil ihtiyacınız varsa, çekinmeden bizi arayınız. Su kaçağı, tıkanıklık, bozuk musluk veya diğer acil durumlar için 24/7 hizmet vermekteyiz.</p><p><strong>📞 Telefon: +90 534 383 7758</strong></p><h2>✅ {LOCATION}'da Su Tesisatçı Seçiminde Dikkat Edilmesi Gerekenler</h2><p>Bir su tesisatçısı seçerken aşağıdaki noktalara dikkat etmelisiniz:</p><ul><li>Deneyim ve sertifika kontrol edin</li><li>Referans müşterilerinden fikir alın</li><li>Fiyat tahmini yazılı olarak alın</li><li>Garanti koşullarını net olarak belirleyin</li><li>24/7 acil hizmet sunup sunmadığını kontrol edin</li><li>Müşteri memnuniyeti kaydını inceleyin</li></ul><p>Su Tesisatçısı Berat tüm bu şartları karşılamaktadır ve {LOCATION}'da güvenli bir seçimdir.</p>",
            "mahalle_template" => "<p><strong>{LOCATION}'de su tesisatçı hizmetine ihtiyacınız varsa biz size yardımcı olabiliriz.</strong> Su Tesisatçısı Berat {LOCATION} bölgesinde 24/7 profesyonel su tesisatçılık hizmetleri sunmaktadır. Tüm su sorularında hızlı, güvenilir ve uygun fiyatlı çözüm için bizi arayınız.</p>{FEATURED_IMAGE}<h2>🏠 Sunduğumuz Hizmetler</h2><p>{LOCATION}'da aşağıdaki su tesisatçılık hizmetlerini profesyonel ustalarımız tarafından sunuyoruz:</p><ul><li>Yeni su tesisatı kurulumu ve onarımı</li><li>Bozuk musluk ve armatür değişimi</li><li>Su tesisatı sızıntı onarımı</li><li>Kombi ve petek bağlantı hizmetleri</li><li>24/7 acil su tesisatçı hizmetleri</li><li>Periyodik bakım ve kontrol hizmetleri</li></ul><h2>💡 Neden Bizi Tercih Etmelisiniz?</h2><p>{LOCATION} bölgesinde Su Tesisatçısı Berat tercih edilmesi gereken sebepler:</p><ul><li>15+ yıllık deneyime sahip profesyonel ekip</li><li>30 dakika içinde {LOCATION}'da müdahale</li><li>Tüm işlerde 1 yıl garanti</li><li>Uygun ve rekabetçi fiyatlar</li><li>Temiz ve düzenli çalışma</li></ul><h2>📞 İletişim Bilgileri</h2><p>{LOCATION}'da su tesisatçısına ihtiyacınız varsa hemen bizi arayınız:</p><p><strong>Telefon: +90 534 383 7758</strong><br><strong>Hizmet Saatleri: 24/7</strong></p>"
        ),
        "tikaniklik-acma" => array(
            "ilce_template" => "<p><strong>{LOCATION}'de tıkanıklık sorunu mu var?</strong> Su Tesisatçısı Berat {LOCATION} bölgesinde modern teknoloji ve deneyimli ekip ile tıkanıklık açma hizmetleri sunmaktadır. Kırmadan, hasarsız ve hızlı çözüm için 24/7 acil hizmetimize başvurun.</p>{FEATURED_IMAGE}<h2>🔧 {LOCATION}'da Tıkanıklık Açma Hizmetlerimiz</h2><p>Evinizdeki veya işletmenizde tıkanıklık sorunu yaşıyorsanız, Su Tesisatçısı Berat {LOCATION}'da aşağıdaki profesyonel hizmetleri sunmaktadır:</p><ul><li><strong>Tuvalet Tıkanıklığı Açma:</strong> Klozet tıkanıklığını robot sistem ile kırmadan ve güvenli şekilde açıyoruz.</li><li><strong>Lavabo Tıkanıklığı Açma:</strong> Mutfak ve banyo lavabolarının tıkanıklıkları hızlı açıyoruz.</li><li><strong>Banyo Gideri Tıkanıklığı:</strong> Duş ve küvet giderlerindeki tıkanıklıkları açıyoruz.</li><li><strong>Mutfak Tezgahı Tıkanıklığı:</strong> Yağ ve gıda artıklarından kaynaklanan tıkanıklıkları özel yağ tutucu temizliği ile çözüyoruz.</li><li><strong>Ana Hat Tıkanıklığı:</strong> Binanın ana atık su hatlarındaki tıkanıklıkları profesyonel araçlarla açıyoruz.</li></ul><h2>🛡️ Neden Su Tesisatçısı Berat'ı Seçmelisiniz?</h2><p>{LOCATION}'da tıkanıklık açma konusunda biz tercih edilmemiz gereken nedenler:</p><ul><li><strong>Kırmadan Çözüm:</strong> Binada hasar oluşturmadan tıkanıklığı açıyoruz</li><li><strong>Hızlı Müdahale:</strong> 30 dakika içinde {LOCATION}'da hizmet verebiliriz</li><li><strong>Deneyimli Ekip:</strong> 15+ yıllık deneyime sahip profesyonellerimiz</li><li><strong>Garantili İşçilik:</strong> 1 yıl garanti ile işlemler yapılıyor</li><li><strong>Uygun Fiyatlar:</strong> Pazar şartlarına uygun ve adil fiyatlandırma</li><li><strong>24/7 Hizmet:</strong> Gece-gündüz acil hizmet imkanı</li></ul>",
            "mahalle_template" => "<p><strong>{LOCATION}'de tıkanıklık sorununuz varsa doğru yerdesiniz!</strong> Su Tesisatçısı Berat {LOCATION} bölgesinde kırmadan tıkanıklık açma hizmetleri sunmaktadır. Modern ekipman ve deneyimli ustalarımız 24/7 acil hizmet için hazırdır.</p>{FEATURED_IMAGE}<h2>🔧 Açtığımız Tıkanıklıklar</h2><p>{LOCATION}'da tıkanıklık açmada tecrübeliyiz:</p><ul><li>Tuvalet ve klozet tıkanıklığı</li><li>Lavabo ve mutfak gideri tıkanıklığı</li><li>Banyo ve duş gideri tıkanıklığı</li><li>Ana hat ve genel gider tıkanıklığı</li><li>Çatı logar ve oluğu tıkanıklığı</li></ul><h2>💡 Neden Biz?</h2><ul><li>Kırmadan hasarsız çözüm</li><li>Modern robot ve kamera sistemleri</li><li>30 dakika içinde hizmet</li><li>1 yıl garanti</li><li>Uygun fiyatlar</li><li>24/7 acil hizmet</li></ul>"
        ),
        "su-kacagi-tespiti" => array(
            "ilce_template" => "<p><strong>{LOCATION}'de su kaçağı sorunu mu var?</strong> Su Tesisatçısı Berat {LOCATION} bölgesinde modern akustik dinleme ve termal kamera teknolojisi ile kırmadan su kaçağı tespit hizmeti sunmaktadır. Binanızın değerini koruyun, su kaybına engel olun!</p>{FEATURED_IMAGE}<h2>🔍 {LOCATION}'da Su Kaçağı Tespiti Hizmetlerimiz</h2><p>Su kaçağı ev ve işletmelerin en maliyetli sorunlarından biridir. Su Tesisatçısı Berat {LOCATION}'da aşağıdaki profesyonel su kaçağı tespiti hizmetlerini sunmaktadır:</p><ul><li><strong>Daire Su Kaçağı Tespiti:</strong> Daire içindeki gizli su kaçağını akustik cihazlarla buluyoruz.</li><li><strong>Villa Su Kaçağı Tespiti:</strong> Müstakil evlerde bahçe hatları, duvarlar ve zemin altı kaçakları buluyoruz.</li><li><strong>Sıcak Su Hattı Kaçağı Tespiti:</strong> Kombi ve sıcak su borusundaki kaçakları termal kamera ile tespit ediyoruz.</li><li><strong>Soğuk Su Hattı Kaçağı Tespiti:</strong> Soğuk su sistemi kaçaklarını akustik dinleme ile buluyoruz.</li><li><strong>Zemin Altı Su Kaçağı Tespiti:</strong> Zeminle duvar arası gizli kaçakları elektrik direnci ölçüm cihazlarıyla tespit ediyoruz.</li></ul><h2>🎯 Kullandığımız Teknolojiler</h2><p>{LOCATION}'da su kaçağı tespitinde kullandığımız ileri teknolojiler:</p><ul><li><strong>Akustik Dinleme Cihazı:</strong> Su akışının sesini dinleyerek kaçağın yerini belirleyen sistem. 99% doğruluk oranı</li><li><strong>Termal Kamera (Thermal Imaging):</strong> Kızılötesi teknoloji ile sıcak ve soğuk su hatlarındaki kaçakları görüyoruz</li><li><strong>Elektrik Direnci Ölçer:</strong> Nem oranını ölçerek gizli kaçakları tespit eden cihaz</li></ul><h2>🛡️ Neden Su Tesisatçısı Berat'ı Seçmelisiniz?</h2><p>{LOCATION}'da su kaçağı tespitinde biz tercih edilmemiz gereken nedenler:</p><ul><li><strong>Kırmadan Bulma:</strong> Binanızda hasar oluşturmadan kaçağı buluyoruz</li><li><strong>Son Teknoloji:</strong> En modern akustik ve termal teknoloji kullanıyoruz</li><li><strong>Maliyeti Azaltma:</strong> İlk tespitte hasar daha az olur</li><li><strong>Deneyimli Ekip:</strong> 15+ yıllık deneyime sahip uzmanlarımız</li><li><strong>24/7 Hizmet:</strong> Acil durumlarda 30 dakika içinde hizmet</li></ul>",
            "mahalle_template" => "<p><strong>{LOCATION}'de gizli su kaçağı mı bulunuyor?</strong> Su Tesisatçısı Berat {LOCATION} bölgesinde akustik dinleme ve termal kamera teknolojisi ile kırmadan su kaçağı tespit eder. Modern cihazlarımız sayesinde en zor kaçakları buluyoruz.</p>{FEATURED_IMAGE}<h2>🔍 Tespit Ettiğimiz Kaçaklar</h2><p>{LOCATION}'da su kaçağı tespitinde uzmanız:</p><ul><li>Daire içi gizli kaçaklar (duvar, zemin, tavan)</li><li>Sıcak ve soğuk su hattı kaçakları</li><li>Zemin altı ve duvar içi kaçaklar</li><li>Bahçe ve bodrum kaçakları</li><li>Kombi ve petek sistemi kaçakları</li></ul><h2>💡 Kaçağın İşaretleri</h2><p>{LOCATION}'da su kaçağının belirtileri:</p><ul><li>Su faturasında hızlı artış</li><li>Duvar ve zeminlerde nem izleri</li><li>Kötü koku ve küf oluşumu</li><li>Boyada kabarmalar ve renk değişimi</li></ul><h2>✅ Neden Biz?</h2><ul><li>Modern akustik ve termal teknoloji</li><li>Kırmadan hasar vermeden tespit</li><li>30 dakika içinde müdahale</li><li>1 yıl garanti</li><li>24/7 acil hizmet</li></ul>"
        )
    );
}

// === MAHALLE HİZMETLERİ BULK İMPORT SISTEMI === //

// === İÇERİK GÜNCELLEME ARACI === //
add_action('admin_menu', function() {
    add_management_page(
        'İçerik Güncelle',
        'İçerik Güncelle',
        'manage_options',
        'update-content-tool',
        'content_update_tool_page'
    );
    
    add_management_page(
        'İç Linkleme',
        'İç Linkleme',
        'manage_options',
        'internal-linking-tool',
        'internal_linking_tool_page'
    );
});

function content_update_tool_page() {
    ?>
    <div class="wrap">
        <h1>📝 İçerik Güncelle - Toplu Template Uygula</h1>
        <form method="post" enctype="multipart/form-data">
            <?php wp_nonce_field('update_content_tool', 'content_nonce'); ?>
            <table class="form-table">
                <tr>
                    <th><label for="service_select">🔧 Hizmet Seç:</label></th>
                    <td>
                        <select name="service_slug" id="service_select" style="width:100%;padding:10px;font-size:16px;">
                            <option value="">-- Hizmet Seçin --</option>
                            <option value="su-kacagi-tespiti">Su Kaçağı Tespiti</option>
                            <option value="tikaniklik-acma">Tıkanıklık Açma</option>
                            <option value="su-tesisatcisi">Su Tesisatçısı</option>
                        </select>
                    </td>
                </tr>
                <tr>
                    <th><label>📋 Template İçeriği:</label></th>
                    <td><textarea name="content" rows="20" style="width:100%;padding:10px;font-family:monospace;" placeholder="Template metninizi buraya yapıştırın... {ilçe adı} ve {mahalle adı} otomatik değişecek"></textarea></td>
                </tr>
                <tr>
                    <th><label for="featured_image">📸 Görsel Ekle (Opsiyonel):</label></th>
                    <td>
                        <input type="file" name="featured_image" id="featured_image" accept="image/*" style="padding:10px;">
                        <p style="color:#666;font-size:13px;margin-top:10px;">
                            ✅ Görsel yüklerseniz tüm yazılara eklenecek<br>
                            ✅ Alt metni otomatik oluşturulacak: "{ilçe/mahalle} su kaçağı tespiti hizmeti"<br>
                            ✅ SEO için optimize edilmiş alt etiket
                        </p>
                    </td>
                </tr>
            </table>
            <p>
                <button type="submit" name="update_content" class="button button-primary" style="padding:12px 30px;font-size:16px;">
                    ✅ TOPLU GÜNCELLE - Tüm Yazıları Doldur
                </button>
            </p>
            <div style="background:#f0f0f0;padding:15px;margin-top:20px;border-left:4px solid #0073aa;border-radius:5px;">
                <h3>📌 Nasıl Çalışır?</h3>
                <ul>
                    <li>✅ Hizmet seç (Su Kaçağı, Tıkanıklık, Tesisatçı)</li>
                    <li>✅ Template yapıştır ({ilçe adı}, {mahalle adı} kullan)</li>
                    <li>✅ İstersen görsel yükle (tüm yazılara eklenecek)</li>
                    <li>✅ TOPLU GÜNCELLE tıkla</li>
                    <li>✅ O hizmetteki TÜM yazılar otomatik güncellenir!</li>
                </ul>
            </div>
        </form>
    </div>
    <?php
    
    if (isset($_POST['update_content']) && check_admin_referer('update_content_tool', 'content_nonce')) {
        $service_slug = sanitize_text_field($_POST['service_slug']);
        $content = $_POST['content'];
        
        if (empty($service_slug) || empty($content)) {
            echo '<div class="notice notice-error"><p>❌ Hizmet ve içerik seçmelisiniz!</p></div>';
            return;
        }
        
        // Görsel yükleme kontrolü
        $uploaded_image_id = 0;
        if (!empty($_FILES['featured_image']['name'])) {
            require_once(ABSPATH . 'wp-admin/includes/file.php');
            require_once(ABSPATH . 'wp-admin/includes/media.php');
            require_once(ABSPATH . 'wp-admin/includes/image.php');
            
            $uploaded_image_id = media_handle_upload('featured_image', 0);
            
            if (is_wp_error($uploaded_image_id)) {
                echo '<div class="notice notice-warning"><p>⚠️ Görsel yüklenemedi, içerik güncellenmeye devam ediliyor...</p></div>';
                $uploaded_image_id = 0;
            } else {
                echo '<div class="notice notice-success"><p>✅ Görsel başarıyla yüklendi! ID: ' . $uploaded_image_id . '</p></div>';
            }
        }
        
        // Seçilen hizmetteki TÜM yazıları getir
        $args = array(
            'post_type' => 'post',
            'posts_per_page' => -1,
            'meta_query' => array(
                array(
                    'key' => '_hizmet',
                    'value' => $service_slug,
                    'compare' => '='
                )
            )
        );
        
        $posts = get_posts($args);
        $updated_count = 0;
        
        echo '<div style="background:#fff;padding:20px;border-radius:5px;margin-top:20px;">';
        echo '<h3>🔄 Güncelleme Başladı...</h3>';
        echo '<div style="background:#f0f0f0;padding:15px;margin:15px 0;border-radius:5px;">';
        
        foreach ($posts as $post) {
            $title = $post->post_title;
            
            // Başlıktan lokasyon çıkar
            preg_match('/^(.+?)\s+(Mahallesi\s+)?(Su Tesisatçısı|Tıkanıklık Açma|Su Kaçağı Tespiti)/', $title, $matches);
            $location = isset($matches[1]) ? trim($matches[1]) : '';
            $is_mahalle = isset($matches[2]) && !empty($matches[2]);
            
            if (empty($location)) continue;
            
            // Hizmet adı
            $service_name = $service_slug == 'su-kacagi-tespiti' ? 'su kaçağı tespiti' : ($service_slug == 'tikaniklik-acma' ? 'tıkanıklık açma' : 'su tesisatçısı');
            
            // Mahalle yazılarında "Mahallesi" ekle
            $display_location = $is_mahalle ? $location . ' Mahallesi' : $location;
            
            // Template'i doldur
            $updated_content = str_replace('{ilçe adı}', $display_location, $content);
            $updated_content = str_replace('{mahalle adı}', $display_location, $updated_content);
            
            // Markdown başlıklarını HTML'e çevir
            $updated_content = preg_replace('/^### (.+)$/m', '<h3>$1</h3>', $updated_content);
            $updated_content = preg_replace('/^## (.+)$/m', '<h2>$1</h2>', $updated_content);
            $updated_content = preg_replace('/^# (.+)$/m', '<h1>$1</h1>', $updated_content);
            
            // Satır sonlarını <br> veya <p> ile değiştir
            $updated_content = wpautop($updated_content);
            
            // Görsel HTML'i oluştur ve içeriğe ekle
            $featured_image_html = '';
            if ($uploaded_image_id > 0) {
                $image_url = wp_get_attachment_url($uploaded_image_id);
                $image_alt = $display_location . ' ' . $service_name . ' hizmeti';
                $image_title = $display_location . ' ' . ucfirst($service_name);
                
                $featured_image_html = '<figure class="wp-block-image size-large">';
                $featured_image_html .= '<img src="' . esc_url($image_url) . '" alt="' . esc_attr($image_alt) . '" title="' . esc_attr($image_title) . '" class="wp-image-' . $uploaded_image_id . '"/>';
                $featured_image_html .= '<figcaption>' . esc_html($image_alt) . '</figcaption>';
                $featured_image_html .= '</figure>';
                
                // Eğer {FEATURED_IMAGE} placeholder varsa değiştir, yoksa içeriğin sonuna ekle
                if (strpos($updated_content, '{FEATURED_IMAGE}') !== false) {
                    $updated_content = str_replace('{FEATURED_IMAGE}', $featured_image_html, $updated_content);
                } else {
                    // İçeriğin sonuna ekle
                    $updated_content = $updated_content . "\n\n" . $featured_image_html;
                }
            } else {
                // Görsel yoksa {FEATURED_IMAGE} placeholder'ını temizle
                $updated_content = str_replace('{FEATURED_IMAGE}', '', $updated_content);
            }
            
            // Post güncelle
            wp_update_post(array(
                'ID' => $post->ID,
                'post_content' => $updated_content,
                'post_status' => 'publish'
            ));
            
            // Görsel ekleme (eğer yüklendiyse)
            if ($uploaded_image_id > 0) {
                // Featured image olarak ayarla
                set_post_thumbnail($post->ID, $uploaded_image_id);
                
                // Alt metni güncelle
                update_post_meta($uploaded_image_id, '_wp_attachment_image_alt', $image_alt);
                
                wp_update_post(array(
                    'ID' => $uploaded_image_id,
                    'post_title' => $image_title,
                    'post_excerpt' => $image_alt
                ));
            }
            
            // Meta güncelle
            $meta_desc = $location . ' bölgesinde profesyonel ' . $service_name . ' hizmeti. 24/7 acil hizmet. Hasarsız, garantili çözüm.';
            update_post_meta($post->ID, '_yoast_wpseo_metadesc', $meta_desc);
            update_post_meta($post->ID, '_yoast_wpseo_focuskw', $location . ' ' . $service_name);
            update_post_meta($post->ID, '_yoast_wpseo_title', $title . ' | Su Tesisatçısı Berat');
            
            $updated_count++;
            $image_status = ($uploaded_image_id > 0) ? ' 📸' : '';
            echo '<p>✅ [' . $updated_count . '] ' . esc_html($title) . $image_status . '</p>';
            flush();
        }
        
        echo '</div>';
        echo '<div style="background:#d4edda;padding:15px;border-radius:5px;border:1px solid #c3e6cb;margin-top:15px;">';
        echo '<h3>🎉 TAMAMLANDI!</h3>';
        echo '<p><strong>' . $updated_count . '</strong> yazı başarıyla güncellendi!</p>';
        echo '<p>✅ İçerikler template\'e göre dolduruldu</p>';
        echo '<p>✅ Meta açıklamaları güncellendi</p>';
        echo '<p>✅ Yoast SEO ayarları yapıldı</p>';
        if ($uploaded_image_id > 0) {
            echo '<p>📸 Görsel tüm yazılara eklendi (Alt metinler otomatik oluşturuldu)</p>';
        }
        echo '</div>';
        echo '</div>';
    }
}

// === İÇ LİNKLEME ARACI === //
function internal_linking_tool_page() {
    $mahalle_verisi = array(
        "Ataşehir" => ["Aşıkveysel","Atatürk","Barbaros","Esatpaşa","Ferhatpaşa","Fetih","İçerenköy","İnönü","Kayışdağı","Küçükbakkalköy","Mevlana","Mimarsinan","Mustafa Kemal","Örnek","Yeniçamlıca","Yenişehir","Yenisahra"],
        "Beykoz" => ["Acarlar","Akbaba","Alibahadır","Anadolufeneri","Anadoluhisarı","Anadolukavağı","Baklacı","Bozhane","Cumhuriyet","Çamlıbahçe","Çengeldere","Çiftlik","Çiğdem","Çubuklu","Dereseki","Elmalı","Fatih","Göksu","Göllü","Görele","Göztepe","Gümüşsuyu","İncirköy","İshaklı","Kanlıca","Kavacık","Kaynarca","Kılıçlı","Merkez","Mahmutşevketpaşa","Ortaçeşme","Öğümce","Örnekköy","Paşabahçe","Paşamandıra","Polonezköy","Poyrazköy","Riva","Rüzgarlıbahçe","Soğuksu","Tokatköy","Yalıköy","Yavuzselim","Yenimahalle","Zerzevatçı"],
        "Çekmeköy" => ["Alemdağ","Aydınlar","Cumhuriyet","Çamlık","Çatalmeşe","Ekşioğlu","Güngören","Hamidiye","Hüseyinli","Kirazlıdere","Koçullu","Mehmet Akif","Merkez","Mimar Sinan","Nişantepe","Ömerli","Reşadiye","Sırapınar","Soğukpınar","Sultançiftliği","Taşdelen"],
        "Kadıköy" => ["19 Mayıs","Acıbadem","Bostancı","Caddebostan","Caferağa","Dumlupınar","Eğitim","Erenköy","Fenerbahçe","Feneryolu","Fikirtepe","Göztepe","Hasanpaşa","Koşuyolu","Kozyatağı","Merdivenköy","Osmanağa","Rasimpaşa","Sahrayıcedid","Suadiye","Zühtüpaşa"],
        "Kartal" => ["Atalar","Cevizli","Cumhuriyet","Çavuşoğlu","Esentepe","Gümüşpınar","Hürriyet","Karlıktepe","Kordonboyu","Orhantepe","Ortamahalle","Petrol-İş","Soğanlık","Topselvi","Uğur Mumcu","Yakacık Çarşı","Yakacık Yeni","Yalı","Yukarımahalle","Yunus"],
        "Maltepe" => ["Altayçeşme","Altıntepe","Aydınevler","Bağlarbaşı","Başıbüyük","Büyükbakkalköy","Cevizli","Çınar","Esenkent","Feyzullah","Fındıklı","Girne","Gülensu","Gülsuyu","İdealtepe","Küçükyalı","Yalı","Zümrütevler"],
        "Pendik" => ["Ahmet Yesevi","Bahçelievler","Batı","Çamçeşme","Çamlık","Çınardere","Doğu","Dumlupınar","Ertuğrulgazi","Esenler","Esenyalı","Fatih","Fevzi Çakmak","Güllübağlar","Güzelyalı","Harmandere","Kavakpınar","Kaynarca","Kurtköy","Orhangazi","Orta","Ramazanoğlu","Sanayi","Sapanbağları","Sülüntepe","Şeyhli","Velibaba","Yayalar","Yenimahalle","Yenişehir","Yeşilbağlar"],
        "Sancaktepe" => ["Abdurrahmangazi","Akpınar","Atatürk","Emek","Eyüp Sultan","Fatih","Hilal","İnönü","Kemal Türkler","Meclis","Merve","Mevlana","Osmangazi","Safa","Sarıgazi","Veysel Karani","Yenidoğan","Yunus Emre"],
        "Sultanbeyli" => ["Abdurrahmangazi","Adil","Ahmet Yesevi","Akşemsettin","Battalgazi","Fatih","Hamidiye","Hasanpaşa","Mecidiye","Mehmet Akif","Mimarsinan","Necip Fazıl","Orhangazi","Turgutreis","Yavuz Selim"],
        "Tuzla" => ["Akfırat","Anadolu","Aydınlı","Aydıntepe","Cami","Evliya Çelebi","Fatih","İçmeler","İstasyon","Mescit","Mimar Sinan","Orhanlı","Orta","Postane","Şifa","Tepeören","Yayla"],
        "Ümraniye" => ["Adem Yavuz","Altınşehir","Armağanevler","Aşağıdudullu","Atakent","Atatürk","Cemil Meriç","Çakmak","Çamlık","Dumlupınar","Elmalıkent","Esenevler","Esenkent","Esenşehir","Fatih Sultan Mehmet","Finanskent","Hekimbaşı","Huzur","Ihlamurkuyu","İnkılap","İstiklal","Kâzım Karabekir","Madenler","Mehmet Akif","Namık Kemal","Necip Fazıl","Parseller","Site","Şerifali","Tantavi","Tatlısu","Tepeüstü","Topağacı","Yamanevler","Yukarıdudullu"],
        "Üsküdar" => ["Acıbadem","Ahmediye","Altunizade","Aziz Mahmut Hüdayi","Bahçelievler","Barbaros","Beylerbeyi","Bulgurlu","Burhaniye","Cumhuriyet","Çengelköy","Ferah","Güzeltepe","İcadiye","Kandilli","Kirazlıtepe","Kısıklı","Kuleli","Kuzguncuk","Küçük Çamlıca","Küçüksu","Küplüce","Mehmet Akif Ersoy","Mimar Sinan","Muratreis","Salacak","Selami Ali","Selimiye","Sultantepe","Ünalan","Valide-i Atik","Yavuztürk","Zeynep Kamil","Bağlarbaşı","Çamlıca","Doğancılar","Fıstıkağacı","Harem","Haydarpaşa","Nakkaştepe","Paşalimanı","Pazarbaşı","Selamsız","Toptaşı","Vaniköy"],
        "Gebze" => ["Osman Yılmaz","Hacı Halil","Tatlıkuyu","Sultan Orhan","İstasyon","Köşklüçeşme","Mustafapaşa","Ademyavuz","Ahatlı","Arapçeşme","Balçık","Barış","Beylikbağı","Cumaköy","Cumhuriyet","Denizli","Duraklı","Elbizli","Eskihisar","Gaziler","Güzeller","Hatipler","Hürriyet","İnönü","Kadıllı","Kargalı","Kirazpınar","Köşklü Çeşme","Mevlana","Mimar Sinan","Mollafenari","Muallimköy","Mudarli","Mustafapaşa","Ovacık","Pelitli","Sultan Orhan","Tatlıkuyu","Tavşanlı","Tepemanayır","Ulus","Yağcılar","Yavuz Selim","Yenikent"],
        "Çayırova" => ["Akse","Atatürk","Cumhuriyet","Çayırova","Emek","İnönü","Özgürlük","Şekerpınar","Yeni"],
        "Dilovası" => ["Cumhuriyet","Çerkeşli","Demirciler","Diliskelesi","Fatih","Kayapınar","Köseler","Mimar Sinan","Orhangazi","Tavşancıl","Tepecik","Turgut Özal"],
        "Darıca" => ["Abdi İpekçi","Bağlarbaşı","Bayramoğlu","Cami","Emek","Fevziçakmak","Kazımkarabekir","Nenehatun","Osmangazi","Piri Reis","Sırasöğütler","Yalı","Yeni","Zincirlikuyu"]
    );
    ?>
    <div class="wrap">
        <h1>🔗 İç Linkleme Aracı - SEO Boost</h1>
        <form method="post">
            <?php wp_nonce_field('internal_linking_tool', 'linking_nonce'); ?>
            <div style="background:#f0f0f0;padding:20px;margin:20px 0;border-left:4px solid #0073aa;border-radius:5px;">
                <h3>📌 Ne Yapacak?</h3>
                <ul>
                    <li>✅ <strong>Mahalle yazılarında:</strong> Aynı mahallenin diğer hizmetlerine + diğer mahallelere link</li>
                    <li>✅ <strong>İlçe yazılarında:</strong> "Hizmet Verdiğimiz Mahalleler" başlığı altında tüm mahalle linklerini ekle</li>
                    <li>✅ Tüm linkler otomatik oluşturulur ve içeriğe eklenir</li>
                    <li>✅ SEO güçlendirilir, Google sıralaması yükselir</li>
                </ul>
            </div>
            
            <p>
                <button type="submit" name="start_linking" class="button button-primary" style="padding:12px 30px;font-size:16px;">
                    🚀 İÇ LİNKLEMEYİ BAŞLAT - Tüm Yazıları Linkle
                </button>
            </p>
        </form>
    </div>
    <?php
    
    if (isset($_POST['start_linking']) && check_admin_referer('internal_linking_tool', 'linking_nonce')) {
        echo '<div style="background:#fff;padding:20px;border-radius:5px;margin-top:20px;">';
        echo '<h3>🔄 İç Linkleme Başladı...</h3>';
        echo '<div style="background:#f0f0f0;padding:15px;margin:15px 0;border-radius:5px;">';
        
        $all_posts = get_posts(array('post_type' => 'post', 'posts_per_page' => -1));
        $updated_count = 0;
        
        foreach ($all_posts as $post) {
            $title = $post->post_title;
            $content = $post->post_content;
            
            // Başlıktan bilgileri çıkar
            preg_match('/^(.+?)\s+(Mahallesi\s+)?(Su Tesisatçısı|Tıkanıklık Açma|Su Kaçağı Tespiti)/', $title, $matches);
            $location = isset($matches[1]) ? trim($matches[1]) : '';
            $is_mahalle = isset($matches[2]) && !empty($matches[2]);
            $hizmet_text = isset($matches[3]) ? $matches[3] : '';
            
            if (empty($location)) continue;
            
            $hizmet_slug = '';
            if (strpos($title, 'Su Tesisatçısı') !== false) $hizmet_slug = 'su-tesisatcisi';
            elseif (strpos($title, 'Tıkanıklık') !== false) $hizmet_slug = 'tikaniklik-acma';
            else $hizmet_slug = 'su-kacagi-tespiti';
            
            $links_html = '';
            
            if ($is_mahalle) {
                // MAHALLE YAZISI - Aynı mahallenin diğer hizmetleri + diğer mahalleler
                $links_html .= '<h3>🔗 İlgili Hizmetlerimiz</h3><ul>';
                
                // Aynı mahallenin diğer hizmetleri
                $services = array(
                    'su-tesisatcisi' => 'Su Tesisatçısı',
                    'tikaniklik-acma' => 'Tıkanıklık Açma',
                    'su-kacagi-tespiti' => 'Su Kaçağı Tespiti'
                );
                
                foreach ($services as $slug => $name) {
                    if ($slug != $hizmet_slug) {
                        $mahalle_slug = sanitize_title($location . '-mahallesi-' . $slug);
                        $links_html .= '<li><a href="/' . $mahalle_slug . '">' . $location . ' Mahallesi ' . $name . '</a></li>';
                    }
                }
                $links_html .= '</ul>';
                
                // Aynı ilçenin diğer mahalleleri (aynı hizmet)
                foreach ($mahalle_verisi as $ilce => $mahalles) {
                    if (in_array($location, $mahalles)) {
                        $links_html .= '<h3>📍 ' . $ilce . ' Bölgesinde Hizmet Verdiğimiz Diğer Mahalleler</h3><ul>';
                        foreach ($mahalles as $mhalle) {
                            if ($mhalle != $location) {
                                $other_slug = sanitize_title($mhalle . '-mahallesi-' . $hizmet_slug);
                                $links_html .= '<li><a href="/' . $other_slug . '">' . $mhalle . ' Mahallesi ' . $hizmet_text . '</a></li>';
                            }
                        }
                        $links_html .= '</ul>';
                        break;
                    }
                }
                
            } else {
                // İLÇE YAZISI - Tüm mahalle linkleri (sadece aynı hizmet)
                if (isset($mahalle_verisi[$location])) {
                    $links_html .= '<h3>📍 ' . $location . ' Bölgesinde Hizmet Verdiğimiz Mahalleler</h3><ul>';
                    foreach ($mahalle_verisi[$location] as $mahalle) {
                        $mahalle_slug = sanitize_title($mahalle . '-mahallesi-' . $hizmet_slug);
                        $links_html .= '<li><a href="/' . $mahalle_slug . '">' . $mahalle . ' Mahallesi ' . $hizmet_text . '</a></li>';
                    }
                    $links_html .= '</ul>';
                }
            }
            
            // İçeriğe linkle ekle (sonuna)
            if (!empty($links_html)) {
                $updated_content = $content . "\n\n" . $links_html;
                
                wp_update_post(array(
                    'ID' => $post->ID,
                    'post_content' => $updated_content
                ));
                
                $updated_count++;
                echo '<p>✅ [' . $updated_count . '] ' . esc_html($title) . ' - İç linkler eklendi</p>';
                flush();
            }
        }
        
        echo '</div>';
        echo '<div style="background:#d4edda;padding:15px;border-radius:5px;border:1px solid #c3e6cb;margin-top:15px;">';
        echo '<h3>🎉 TAMAMLANDI!</h3>';
        echo '<p><strong>' . $updated_count . '</strong> yazıya iç linkler eklendi!</p>';
        echo '<p>✅ Mahalle yazılarına diğer hizmetler ve mahalleler eklendi</p>';
        echo '<p>✅ İlçe yazılarına tüm mahalle linkleri eklendi</p>';
        echo '<p>✅ SEO güçlendirildi - Google sıralaması yükselecek!</p>';
        echo '</div>';
        echo '</div>';
    }
}
