Displaying PHP Errors from admin-ajax.php

WordPress by default hide errors for ajax request call. This can be confirmed from the source file wp-includes/load.php#L352, here: if ( defined( ‘XMLRPC_REQUEST’ ) || defined( ‘REST_REQUEST’ ) || ( defined( ‘WP_INSTALLING’ ) && WP_INSTALLING ) || wp_doing_ajax() ) { @ini_set( ‘display_errors’, 0 ); } See the function wp_doing_ajax() is being used in the conditional … Read more

Enable Submit Comment Without Page Reload (Using Ajax)?

Save the following javascrip file wpse54189-ajax-comments.js inside your plug-in folder – say plugins/plug-in-name/js (or if this must go your theme, in your theme folder). /* * jQuery autoResize (textarea auto-resizer) * @copyright James Padolsey http://james.padolsey.com * @version 1.04 */ (function(a){a.fn.autoResize=function(j){var b=a.extend({onResize:function(){},animate:true,animateDuration:150,animateCallback:function(){},extraSpace:20,limit:1000},j);this.filter(‘textarea’).each(function(){var c=a(this).css({resize:’none’,’overflow-y’:’hidden’}),k=c.height(),f=(function(){var l=[‘height’,’width’,’lineHeight’,’textDecoration’,’letterSpacing’],h={};a.each(l,function(d,e){h[e]=c.css(e)});return c.clone().removeAttr(‘id’).removeAttr(‘name’).css({position:’absolute’,top:0,left:-9999}).css(h).attr(‘tabIndex’,’-1′).insertBefore(c)})(),i=null,g=function(){f.height(0).val(a(this).val()).scrollTop(10000);var d=Math.max(f.scrollTop(),k)+b.extraSpace,e=a(this).add(f);if(i===d){return}i=d;if(d>=b.limit){a(this).css(‘overflow-y’,”);return}b.onResize.call(this);b.animate&&c.css(‘display’)===’block’?e.stop().animate({height:d},b.animateDuration,b.animateCallback):e.height(d)};c.unbind(‘.dynSiz’).bind(‘keyup.dynSiz’,g).bind(‘keydown.dynSiz’,g).bind(‘change.dynSiz’,g)});return this}})(jQuery); /* * Source: wp-comment-master WordPress Plugin * URL: http://wordpress.org/extend/plugins/wp-comment-master/ … Read more

add_action(‘wp_ajax_[action name]’, myfunction) problem

In my projects I do it like that PHP function foo() { echo ‘bar’; } add_action(‘wp_ajax_foo’, ‘foo’ ); // executed when logged in add_action(‘wp_ajax_nopriv_foo’, ‘foo’ ); // executed when logged out Javascript data = { action: ‘foo’, avalue: ‘some value’, ‘anothervalue’: ‘another value’ }; jQuery.post(ajaxurl, data, function(response){ alert(response); });

How can I run AJAX on a button click event?

Start from a working code base.. add_action(‘in_admin_header’, ‘my_ajax_button’); function my_ajax_button() { echo ‘<a href=”#ajaxthing” class=”myajax”>Test</a>’; } add_action(‘admin_head’, ‘my_action_javascript’); function my_action_javascript() { ?> <script type=”text/javascript” > jQuery(document).ready(function($) { $(‘.myajax’).click(function(){ var data = { action: ‘my_action’, whatever: 1234 }; // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php $.post(ajaxurl, data, function(response) … Read more

Allowing admin-ajax.php to receive “application/json” instead of “x-www-form-urlencoded”

it seems the latter only accepts x-www-form-urlencoded That’s not completely true. WordPress admin-ajax.php takes the action from $_REQUEST[‘action’] and $_REQUEST is equal to: array_merge($_POST, $_GET); But what many people don’t realize is that $_GET in PHP is not the data was sent to page using HTTP GET method, in fact, you can use whatever HTTP … Read more