// تعریف ثابت‌ها (اگر تعریف نشده‌اند) if (!defined('AASCO_SERVICE_FORMS_PATH')) { define('AASCO_SERVICE_FORMS_PATH', plugin_dir_path(__FILE__)); } if (!defined('AASCO_SERVICE_FORMS_URL')) { define('AASCO_SERVICE_FORMS_URL', plugin_dir_url(__FILE__)); } // بارگذاری اسکریپت‌ها فقط در صفحات حاوی شورت‌کد function aasco_service_forms_enqueue_scripts() { if (is_singular() && has_shortcode(get_post()->post_content, 'aasco_form')) { wp_enqueue_script( 'aasco-form-submit', AASCO_SERVICE_FORMS_URL . 'js/form-submit.js', [], null, true ); wp_localize_script('aasco-form-submit', 'aascoFormAjax', [ 'ajax_url' => admin_url('admin-ajax.php'), ]); } } add_action('wp_enqueue_scripts', 'aasco_service_forms_enqueue_scripts'); // شورت‌کد نمایش فرم و فایل JS اختصاصی فرم add_shortcode('aasco_form', function() { if (!is_page()) return ''; global $post; $form_id = get_post_meta($post->ID, 'cf7_form_id', true); $js_file = get_post_meta($post->ID, 'cf7_js_file', true); if (!$form_id) return '

فرمی برای این صفحه تنظیم نشده است.

'; ob_start(); echo do_shortcode("[contact-form-7 id=\"{$form_id}\"]"); if ($js_file) { $relative_path = 'js/forms/' . $js_file; $file_path = AASCO_SERVICE_FORMS_PATH . $relative_path; $file_url = AASCO_SERVICE_FORMS_URL . $relative_path; if (file_exists($file_path)) { echo ""; } else { echo ""; } } return ob_get_clean(); }); فروشگاه آس