So übergeben Sie eine Variable von einer Vorlagenseite an das untergeordnete Thema functions.php

Ich suche nach einer Möglichkeit, eine Variable von einer benutzerdefinierten WordPress-Seitenvorlage an meine Child-Theme-Datei functions.php zu übergeben. Ich habe den falschen Rahmen und bin völlig verloren. Ich versuche, eine Google Map mit von Nutzern übermittelten Daten zu erstellen: http://cheryllynch.com/homevalue/

Muss ich dazu in die mySQL-database schreiben? Soll ich die Regeln abbrechen und eine globale Variable verwenden?

 $latitude = $xml[$i]->response->results->result->address->latitude; $_POST['latitude'];  wp_enqueue_script( //From jqueryui.com copy CDN (or download) 'jqueryui', '//code.jquery.com/ui/1.10.3/jquery-ui.js', array('jquery') ); //End of enqueue jQuery UI wp_enqueue_script( 'extra js', get_stylesheet_directory_uri() . '/js/extra.js' ); $datatoBePassed = array( 'hvuri' => get_stylesheet_directory_uri() . '/page-homevalue.php', 'latitude' => __(latitude), 'longitude' => __(longitude) ); wp_localize_script( 'extra js', 'gmap_php_vars', $datatoBePassed ); } } add_action( 'wp_enqueue_scripts', 'cheryllynch_sheeva_child_scripts' ); 

Solutions Collecting From Web of "So übergeben Sie eine Variable von einer Vorlagenseite an das untergeordnete Thema functions.php"

… von einer benutzerdefinierten WordPress-Seitenvorlage zu meiner Child-Theme-Datei functions.php …

Du kannst nicht. Und eine global Variable wird nicht helfen. Die functions.php Datei des Themas wird zuerst geladen, bevor andere Vorlagen geladen werden. Sie können Variablen nicht zurück an etwas übergeben, das bereits geladen wurde.

Was ich denke, was Sie tun möchten, ist, basierend auf dem, was Ihr Code anscheinend versucht, Ihre Daten in die Vorlagendatei einzubetten:

 wp_enqueue_script( 'extra js', get_stylesheet_directory_uri() . '/js/extra.js' ); $datatoBePassed = array( 'hvuri' => get_stylesheet_directory_uri() . '/page-homevalue.php', 'latitude' => __(latitude), 'longitude' => __(longitude) ); wp_localize_script( 'extra js', 'gmap_php_vars', $datatoBePassed ); 

Dann suchen Sie in Ihrem Javascript nach diesen Daten über die gmap_php_vars Variable gmap_php_vars .

Konzeptioneller Beweiß:

 function grab_gmap() { ?> < ?php } add_action('wp_footer','grab_gmap'); 

In der Tat machen Sie mehr oder weniger das Gegenteil von dem, was Sie versuchen zu tun.

In der Praxis sollte man Javascript nicht wirklich so in die Seite schieben. Die verantwortliche function sollte sich wahrscheinlich in der Datei extra.js extra.js , die Sie in die extra.js stellen.