Title: Move values between PHP code and
Last modified: September 21, 2021

---

# Move values between PHP code and

 *  Resolved [dixon3al](https://wordpress.org/support/users/dixon3al/)
 * (@dixon3al)
 * [4 years, 8 months ago](https://wordpress.org/support/topic/move-values-between-php-code-and/)
 * Hello,
    I was wondering if it were possible to move values In a snippet between
   the PHP and script. For example:
 *     ```
       $value = 5;
       add_action( 'wp_footer', function () { ?>
       <script>		
           document.addEventListener('DOMContentLoaded', ( ) => { 
           const button = document.querySelector("#tester");
           button.addEventListener( 'click', () => {	
           alert(value); // trying to retain the value 5
           });
           }
       );
       </script>
       <?php
       });
       ```
   
 * and vice versa, if I define a variable inside the script tag could I access that
   value outside of it? or is there a way to send the value via a function? Thanks!

Viewing 3 replies - 1 through 3 (of 3 total)

 *  Plugin Author [Shea Bunge](https://wordpress.org/support/users/bungeshea/)
 * (@bungeshea)
 * [4 years, 8 months ago](https://wordpress.org/support/topic/move-values-between-php-code-and/#post-14896159)
 * Using a PHP variable in JavaScript is the easier way to go. You can just define
   a new variable using `var`, `let` or `const`, and use PHP to output the value:
 *     ```
       $value = 5;
       add_action( 'wp_footer', function () use ( $value ) { ?>
       	<script>
       	document.addEventListener('DOMContentLoaded', () => {
       			const button = document.querySelector("#tester");
   
       			const value = <?php echo esc_js( $value ); ?>;
   
       			button.addEventListener('click', () => {
       				alert(value); // trying to retain the value 5
       			});
       		}
       	);
       	</script>
       	<?php
       } );
       ```
   
 * If your value is a string, make sure you include quotation marks around the PHP
   statement, and if it’s a more complex type like an array, then I recommend using
   the `wp_json_encode` function to convert it to JavaScript syntax.
 * Sending a variable value back from JavaScript to PHP is a little more difficult.
   You would need to use something like AJAX to send the value to a different page,
   where you can write a function to intercept the value and do something with it.
   You can find a guide to using [AJAX on the WordPress Plugin Handbook](https://developer.wordpress.org/plugins/javascript/ajax/).
 *  Thread Starter [dixon3al](https://wordpress.org/support/users/dixon3al/)
 * (@dixon3al)
 * [4 years, 8 months ago](https://wordpress.org/support/topic/move-values-between-php-code-and/#post-14913800)
 * Hi Shea,
    It turns out I may also need to move values back from JavaScript to
   PHP. I wrote the following functions in two separate snippets:
 *     ```
       add_action( 'wp_footer', function () { ?>
       <script>
       		document.addEventListener('DOMContentLoaded', ( ) => { 
   
       		const button = document.querySelector("#tester");
       		button.addEventListener('click', () => {
   
       			 var data = {
                		'action'   : 'my_action', 
                		'function' : ajax_object.we_value
       				  };
   
       			jQuery.post(ajax_object.ajax_url, data, function(response) {
       			alert('Got this from the server: ' + response);
       			});	
   
       		});
          	});
       </script>
       <?php
       });
       ```
   
 * and:
 *     ```
       add_action( 'admin_enqueue_scripts', 'my_enqueue' );
       function my_enqueue($hook) {
           if( 'index.php' != $hook ) {
       	// Only applies to dashboard panel
       	return;
           }
   
       	wp_enqueue_script( 'ajax-script', plugins_url( 'record_clicks', __FILE__ ), array('jquery') );
   
       	wp_localize_script( 'ajax-script', 'ajax_object',
                   array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'we_value' => 0 ) );
       }
   
       add_action( 'wp_ajax_my_action', 'my_action' );
       function my_action(){
   
          echo 'Ajax call output:';
   
       	$function = intval( $_POST['function'] );
          $function += 1;
          echo '<pre>';
       	echo $funciton;
          echo '</pre>';
   
          wp_die();
       }
       ```
   
 * When I call wp_enque_script, “record_clicks” is the name of my other snippet.
   I don’t think the values are being passed correctly and my alert isn’t activating.
   Any insight you have would be greatly appreciated. Thanks.
 *  Plugin Author [Shea Bunge](https://wordpress.org/support/users/bungeshea/)
 * (@bungeshea)
 * [4 years, 6 months ago](https://wordpress.org/support/topic/move-values-between-php-code-and/#post-15083446)
 * Hi [@dixon3al](https://wordpress.org/support/users/dixon3al/), apologies for 
   not getting back to this until now. Just checking if you ended up getting your
   code working or if you would still like some assistance?

Viewing 3 replies - 1 through 3 (of 3 total)

The topic ‘Move values between PHP code and’ is closed to new replies.

 * ![](https://ps.w.org/code-snippets/assets/icon.svg?rev=2148878)
 * [Code Snippets](https://wordpress.org/plugins/code-snippets/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/code-snippets/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/code-snippets/)
 * [Active Topics](https://wordpress.org/support/plugin/code-snippets/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/code-snippets/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/code-snippets/reviews/)

 * 3 replies
 * 2 participants
 * Last reply from: [Shea Bunge](https://wordpress.org/support/users/bungeshea/)
 * Last activity: [4 years, 6 months ago](https://wordpress.org/support/topic/move-values-between-php-code-and/#post-15083446)
 * Status: resolved