Merhaba Beyler.
Simdi google maps api kullaniyorum. google console'dan domain restriction yapabilirim b u sorun degil. Ancak normalde bu API_KEY gizlersem daha iyi olmaz mi ?
Simdi wordpress uzerinden calisiyorum.
// Define an array of variables to pass to the JavaScript file
$api_key = 'AIzaSyBbCZ7R3PcGMXgKadj6nJRR7a8ba6z7BV8';
$localized_vars = array(
'api_key' => $api_key,
);
// Pass the variables to the JavaScript file
wp_localize_script("ourmainjs", 'theme_vars', $localized_vars);
}Daha sonra Javascript den veriyi aliyorum.
<script>
// Access the localized API key
const apiKey = theme_vars.api_key;
// Create a script element
var script = document.createElement('script');
script.src = 'https://maps.googleapis.com/maps/api/js?key=' + apiKey + '&libraries=places&callback=initAutocomplete';
script.async = true;
script.defer = true;
document.head.appendChild(script);
</script>Ancak sayfa sag tiklayinca key hala acik acik okunuyor. neden sizce?
Suan localde calisiyorum ama size addresi icin
TIKLAYINIZ
WordPress ana dizininde bulunan wp-config.php dosyasını açın ve API anahtarınızı şu şekilde tanımlayın:
define('GOOGLE_MAPS_API_KEY', 'AIzaSyBbCZ7R3PcGMXgKadj6nJRR7a8ba6z7BV8'); functions.php veya Tema Dosyasında wp_localize_script Kullanma:
Şimdi, API anahtarınızı JavaScript dosyasına aktarabilirsiniz. Bu işlemi functions.php dosyanıza veya kendi oluşturduğunuz bir tema dosyasına ekleyebilirsiniz.
Örneğin, functions.php dosyasına şu kodu ekleyebilirsiniz:
// functions.php dosyasına eklenen kod
function enqueue_scripts() {
// API anahtarını al
$api_key = defined('GOOGLE_MAPS_API_KEY') ? GOOGLE_MAPS_API_KEY : '';
// JavaScript dosyasına API anahtarını aktar
wp_enqueue_script('ourmainjs', get_template_directory_uri() . '/path/to/your/js/ourmain.js', array('jquery'), null, true);
wp_localize_script('ourmainjs', 'theme_vars', array('api_key' => $api_key));
}
add_action('wp_enqueue_scripts', 'enqueue_scripts');JavaScript Dosyasında API Anahtarını Kullanma: Şimdi, JavaScript dosyanızda API anahtarını kullanabilirsiniz. Örneğin, ourmain.js dosyanız şu şekilde olabilir:
// ourmain.js dosyası
document.addEventListener('DOMContentLoaded', function() {
// Access the localized API key
const apiKey = theme_vars.api_key;
// Create a script element
var script = document.createElement('script');
script.src = 'https://maps.googleapis.com/maps/api/js?key=' + apiKey + '&libraries=places&callback=initAutocomplete';
script.async = true;
script.defer = true;
document.head.appendChild(script);
});Bu şekilde, API anahtarınızı güvenli bir şekilde gizleyebilir ve WordPress üzerinden kullanabilirsiniz. Bu kodlarla ilgili herhangi bir hata varsa, WordPress teması ve dosya yapınıza bağlı olarak uygun düzenlemeleri yapabilirsiniz