پاسخ به : انتخاب اتوماتیک شهرستان بر اساس استان

سایت Gravity Forms فارسی انجمن‌ها پرسش و پاسخ انتخاب اتوماتیک شهرستان بر اساس استان پاسخ به : انتخاب اتوماتیک شهرستان بر اساس استان

morteza_rahmani در: یکشنبه ۲۹ شهریور ۱۳۹۴ در ۱۲:۳۵ ب٫ظ #7440

دوستانی که با لود نشدن فایلهای js در header و footer مشکل دارند روش های زیر رو امتحان کنند:
روش اول:
مرحله ۱: ابتدا کدهایی که داخل فایل header.php و footer.php نوشتید رو پاک کنید بعد این پلاگین رو نصب و فعال کنید: Insert Headers and Footers
مرحله ۲: وارد مسیر زیر در پنل مدیریتی وردپرس بشید: Settings/Insert Headers and Footers
مرحله ۳: در جعبه متن Scripts in header کد زیر رو وارد کنید:

<script type='text/javascript' src='http://domain.com/wp-content/themes/your-active-theme/js/statecity.js'></script>
<script type='text/javascript' src='http://domain.com/wp-content/themes/your-active-theme/js/jquery.chained.min.js'></script>

نکته: آدرس سایتتون رو در کد بالا خودتون اصلاح کنید و مسیر درست فایلهای js رو قرار بدید.
مرحله ۴: در جعبه متن Scripts in footer کد زیر رو وارد کنید:
<script>jQuery('li.city select').chained('li.state select');</script>
مرحله ۵: Save Settings رو بزنید.

روش دوم:
۱- ابتدا کدهایی که داخل فایل header.php و footer.php نوشتید رو پاک کنید.
۲- اگر از قالب اصلی بدون Child Theme استفاده میکنید کد زیر رو در فایل functions.php قالبتون کپی کنید:

<?php
function state_city_scripts(){
    wp_register_script( 'statecity_script', get_template_directory_uri() . '/js/statecity.js');
    wp_enqueue_script( 'statecity_script' );
    wp_register_script( 'chain_script', get_template_directory_uri() . '/js/jquery.chained.min.js');
    wp_enqueue_script( 'chain_script' );
	}
add_action('wp_enqueue_scripts', 'state_city_scripts');
?>
<?php
function state_city_inline_script() {
?>
<script>jQuery('li.city select').chained('li.state select');</script>
<?php
}
add_action( 'wp_footer', 'state_city_inline_script' );
?>

۳- اگر از Child Theme استفاده میکنید، به جای کد بالا کد زیر رو داخل فایل functions.php در پوشه قالب child قرار بدید:

<?php
function state_city_scripts(){
    wp_register_script( 'statecity_script', get_stylesheet_directory_uri() . '/js/statecity.js');
    wp_enqueue_script( 'statecity_script' );
    wp_register_script( 'chain_script', get_stylesheet_directory_uri() . '/js/jquery.chained.min.js');
    wp_enqueue_script( 'chain_script' );    
	}
add_action('wp_enqueue_scripts', 'state_city_scripts');
?>
<?php
function state_city_inline_script() {
?>
<script>jQuery('li.city select').chained('li.state select');</script>
<?php
}
add_action( 'wp_footer', 'state_city_inline_script' );
?>

نکته ۱: حواستون به تگ های باز و بسته شدن php باشه. (<?php ?>) ممکنه نیازی نداشته باشید اونارو به این شکل وارد کنید.
نکته ۲: اینجا فرض شده شما داخل پوشه قالبتون فلدر js رو دارید و فایلها رو داخل اون قرار دادید. اگر فایلها در مسیر دیگری هست خودتون کدهای بالا رو اصلاح کنید و مسیر درست رو وارد کنید.