Questions tagged «ajax»

Ajax-WordPress的核心仅在管理屏幕中使用Ajax。例如,当您进行评论审核以及从类别,博客卷和帖子等列表中添加和删除项目时,Ajax用于即时更新。Ajax还是帖子和页面编辑屏幕上自动保存功能的幕后技术。一些主题和插件也使用Ajax。例如,一些帖子评级插件。

2
我可以将同一随机数用于同一页面上的多个请求吗?
还是这打破了随机数的目的?我对这种随机数不甚了解。:) 例如,在页面加载或单击某些内容时运行的两个ajax请求上: $.ajax({ type: 'post', url: 'admin-ajax.php', data: { action: 'foo', _ajax_nonce: '<?php echo $nonce; ?>' } }); $.ajax({ type: 'post', url: 'admin-ajax.php', data: { action: 'foo2', _ajax_nonce: '<?php echo $nonce; ?>' } });
13 php  ajax  nonce 

1
如何在Wordpress中管理Ajax调用和JSON
我有一个想要通过jQuery访问的自定义帖子类型-最好使用JSON。 所以第一件事。创建一个返回/ echos json的函数很容易,但是我将如何通过jquery访问它。 正如Mike在此问题中所写,据我所知,他将其放在wordpress根目录中。这将使它可以使用php文件名进行访问-但这是否值得推荐?我宁愿将其放在插件文件夹中。 我已经尝试阅读wordpress Codex,但是处理ajax调用的方式使我感到困惑,因为您将每个ajax调用都发布到admin-ajax.php,即使它不是管理员页面也是如此? 有人可以理清我遇到的问题吗? /风暴 编辑 我遇到的问题是了解如何在wordpress中进行ajax调用,以及将php和js代码放在哪里进行/处理调用。 在我链接到的另一个问题中,您创建了一个将文件放在wp根目录中的函数-我不想这样做。但是我现在已经学会了如何使用wp_ajax_(nopriv _)[action]并可以有效地访问我创建的json。剩下的问题是我应该放置JS进行呼叫的位置。我想将其放置在插件js文件中,但是由于要在页面中而不是在管理站点上显示,所以未定义ajaxurl,因此我必须使用php进行回应。 echo admin_url('admin-ajax.php'); 因此,问题就变成了我该如何将该php与javascript结合起来,然后又应该将其排入队列,因为它不是文件或脚本。
13 jquery  ajax 

4
加载最小的WordPress环境
我为网站制作了自己的上传服务,该服务与WP分开,但是使用WP提供了低级的数据库功能和用户验证。为此,我在主脚本(Uploadify)中包含了wp-load.php,但是这样做似乎用不必要的组件填充了服务器的内存。因此,我在脚本中看到一个错误,该错误似乎指向已安装的WP插件。 如何仅加载核心WP组件并忽略插件?这有可能吗?
12 ajax  uploads 

1
插入AJAX后初始化TinyMCE编辑器/可视编辑器
我在自定义选项页面上有一个“中继器”样式字段组。有一个处于隐藏状态的活动可视编辑器,当用户单击“添加新”时,整个行将被克隆。然后,我需要在克隆行中初始化可视编辑器。我的代码: $('.repeater-add-new').click(function(event) { event.preventDefault(); var target = $(this).data('repeater'); $( '#' + target).find('.repeater-row:not(.clone) .repeater-content.in').collapse(); var newRow = $( '#' + target + ' .repeater-row.clone' ).clone().appendTo( '#' + target + ' .repeater-row-wrapper' ).removeClass('clone'); rebuildIndex(target); // Initialize editors if needed newRow.find('.wp-editor-wrap').each(function(index, el) { var ed_id = $(this).find('textarea').attr('id'); tinymce.init(tinyMCEPreInit.mceInit[ed_id]); tinymce.execCommand('mceAddEditor', false, ed_id); quicktags({id : …
11 ajax  tinymce  editor 

2
用内容通过AJAX打开一个Thinbox
我在TinyMCE编辑器中添加了一个自定义按钮,当我单击它时,我想打开WP的Thinbox。 我怎样才能使tb_show()函数使用ajax加载我想要的内容? // the ajax add_action('wp_ajax_getTheContent', 'getTheContent'); function getTheContent(){ echo 'weqwtegeqgr'; // <- this should be displayed in the TB die(); } 这是我正在使用的一些编辑器插件代码: init : function(ed, url) { ed.addButton('do_stuff', { title : 'Do Stuff', image : url + '/icon.gif', onclick : function() { OpenMyThickbox('do_stuff'); } }); ... 所以OpenMyThickboxjavascript函数应该可以实现我想要的功能: function OpenMyThickbox(tag){ …
11 ajax  editor  thickbox 

2
如何为每个Ajax请求获得唯一的随机数?
我已经看到了一些有关让Wordpress为随后的Ajax请求重新生成唯一随机数的讨论,但是对于我一生,我实际上无法让Wordpress做到这一点–每当我请求我认为应该是新的东西时随机数,我从Wordpress得到了相同的随机数。我了解WP的nonce_life的概念,甚至将其设置为其他名称,但这对我没有帮助。 我不会通过本地化在标题的JS对象中生成随机数,而是在显示页面上生成。我可以让我的页面处理Ajax请求,但是当我从回调中的WP请求新的随机数时,我又得到了相同的随机数,而且我不知道自己在做什么错...最终,我想扩展此功能,以便页面上可以有多个项目,每个项目都具有添加/删除的功能-因此我需要一种解决方案,该解决方案将允许一个页面中的多个后续Ajax请求。 (我应该说我已经将所有这些功能都放入了插件中,因此前端的“显示页面”实际上是该插件附带的功能...) functions.php:本地化,但是我不在这里创建一个随机数 wp_localize_script('myjs', 'ajaxVars', array('ajaxurl' => 'admin-ajax.php'))); 调用JS: $("#myelement").click(function(e) { e.preventDefault(); post_id = $(this).data("data-post-id"); user_id = $(this).data("data-user-id"); nonce = $(this).data("data-nonce"); $.ajax({ type: "POST", dataType: "json", url: ajaxVars.ajaxurl, data: { action: "myfaves", post_id: post_id, user_id: user_id, nonce: nonce }, success: function(response) { if(response.type == "success") { nonce = response.newNonce; …
11 ajax  nonce 

2
如果使用is_admin仪表板,为什么不注册简码?
我已经注意到,某些插件(例如Contact-form-7,Nextgen-gallery,可能还有其他插件)具有一个有趣的反功能,即当其is_admin()为true 时不注册其短代码。 有问题的是,如果您想从ajax生成一些动态内容(可能包含短代码),并使用“正确的” wp方式(admin-ajax.php),则不可能使WP_ADMIN为真。请参阅admin-ajax.php的第一行: define( 'DOING_AJAX', true ); if ( ! defined( 'WP_ADMIN' ) ) { define( 'WP_ADMIN', true ); } 现在,似乎有PHP扩展允许您取消设置已定义的常量(hacky),或者可能有一种方法可以使未记录的WP_Screen系统混乱$GLOBALS['current_screen']并使is_admin()函数返回false?最有用的解决方法似乎是发布到页面或网站根目录。 is_admin()假时,插件注册其短代码是否很常见?如果是这样,除了可能是过早的优化,我找不到任何文档或原因。
10 ajax  dashboard 

1
使用jQuery删除wp_options中存储的数据
我想知道是否有人可以进一步建议我解决我的问题。我的插件的一部分存储日志文件用于调试目的。我已经使用jquery和wp_localise_script在管理页面的(div#log)中成功显示了它们。我有一个删除这些日志的按钮,但不确定如何处理。我觉得ajax在这里可能会派上用场,但不确定从哪里开始。 这是我的代码的相关部分: admin_enqueue_scripts(操作) $args = array(get_option('wow_tweets_log'));//log files fetched from wp_options table wp_enqueue_script('wow_tweet');//registered earlier on with jQuery dependency wp_localize_script('wow_tweet', 'wow_vars', $args); 管理员页面 <tr><th scope="row"><strong>Debugging</strong></th><td> <div id="debug" class="button-primary">Debug</div><!--debug button shows logs--> <div id="hide_debug" class="button-secondary">Hide</div><!--debug button hides logs--> <div id="clear_log" class="button-secondary">Empty Log</div><!--Press to delete logs--> </td></tr> <tr><th scope="row"></th><td><div id="log"><!--Logs show here--></div></td></tr> Java脚本 jQuery(document).ready(function() …
10 jquery  ajax  actions  options 

3
管理员ajax请求使用die()返回0
所以我在管理区域中将这种配置用于AJAX调用(如下所示): add_action( 'admin_head', 'ajaxPerNgg' ); function ajaxPerNgg(){ ?> <script type="text/javascript" > jQuery(document).ready(function() { jQuery("#message").remove(); jQuery("#errore a#attivo").click( function(){ var data = { action: 'my_action' }; jQuery.post(ajaxurl, data, function(response) { if(response == "attivato") jQuery("#errore a#inattivo").attr("id","completato").html("Attivato"); else jQuery("#errore a#inattivo").attr("id","attivo").html("Attivalo ora"); }); } ); }); </script> <?php } add_action('wp_ajax_my_action', 'my_action_callback'); function my_action_callback() { echo …
10 wp-admin  ajax 

3
如何使评论对每个Ajax加载的帖子起作用?
我目前正在使用ajax加载单个帖子。虽然帖子加载正常,但我无法加载评论。这是我的代码: 我的JavaScript加载帖子: <script> $(".view_post").click(function(e) { e.preventDefault(); postid = $(this).attr("rel"); $.ajax({ url:"/wp-admin/admin-ajax.php", type:'POST', data:'action=posts_open&postid='+postid, success: function(html){ $("#b_contentwrapper").empty(); $("#b_contentwrapper").append(html); } }); }); </script> javascript通过以下方式遍历functions.php: function implement_posts() { //<?php get_template_part( 'loop', 'single' ); die(); } 现在,这里是我实际加载帖子内容的代码: <?php $linkid = "p=".$_POST["postid"]; $posti = new WP_Query($linkid); $posti->the_post(); echo "Time: "; the_time('F jS, Y'); echo "<br …
10 posts  comments  ajax 

2
为什么要使用admin-ajax.php,它如何工作?
我对json数据的ajax调用可以正常运行,就像下面的functions.php一样: add_action( 'wp_ajax_nopriv_load-filter', 'prefix_load_cat_posts' ); add_action( 'wp_ajax_load-filter', 'prefix_load_cat_posts' ); function prefix_load_cat_posts () { //get data here } javascript: var ajaxurl = 'http://'+window.location.host+'/wp-admin/admin-ajax.php'; jQuery.ajax({ type: 'POST', url: ajaxurl, etc. 我有两个问题。 1)为什么使用admin-ajax.php而不是将json编码在一个单独的文件中,themes/example/json.php然后在其中编码数据? 2)admin-ajax.php如何工作?我对那个文件不太了解。它会加载所有功能,以便您准备使用它们吗? 谢谢!
9 ajax 

1
将数据URI保存到媒体库
我有一个TinyMCE插件,可以使用HTMLCanvasElement.toDataURL()(MDN)生成PNG图像。目前,我只是通过将data-URI放在图像标签中来在后端显示它们,但我真的很想将它们添加到WordPress媒体库中。 上传当前序列化为base64编码的数据URI的图像的最佳方式(即,与VIP兼容)是什么? 到目前为止,这是我的上传功能: <?php /** * AJAX callback that inserts chart as attachment into the WP database */ public static function insert_axis_attachment() { // Get config $axis_config = json_decode( $_POST['axisConfig'] ); if ( ! isset( $_POST['axisJS_nonce'] ) || ! wp_verify_nonce( $_POST['axisJS_nonce'] ) || ! current_user_can( 'upload_files' ) || ! current_user_can( …

2
在短代码中使用AJAX
我对短代码有以下代码以显示随机报价。问题:如何使按钮显示新的随机报价?我的意思是,这将按下按钮并为您显示新的报价(当然,无需刷新页面)。 function random_quote() { // quotes file $array = file("/path to txt file"); // generate a random number between 0 and the total count of $array minus 1 // we minus 1 from the total quotes because array indices start at 0 rather than 1 by default $r = rand(0,count($array)-1); …

2
Ajax在未登录时停止工作?
有一个自动完成字段已经工作了几个月,但是在未登录时已经停止工作了吗?不确定何时,但在最近几天或一周内(最近未更新wordpress)。 已经有; add_action('wp_ajax_filter_schools','filter_schools'); add_action('wp_ajax_nopriv_filter_schools','filter_schools'); 在functions.php中,任何地方都没有错误。 未登录时得到的响应是 从safari中获取... *请求网址:http://www.payingforit.org.uk/wp-admin/admin-ajax.php?term = holywe&action = filter_schools&postType = school请求方法:GET状态码:302找到* 任何帮助欢迎!直流电 jQuery代码 $( "#userSelectedSchool" ).bind( "keydown", function( event ) { if ( event.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) { event.preventDefault(); } }).autocomplete({ source: function( request, response ) { $.getJSON( "/wp-admin/admin-ajax.php", { term: …
9 jquery  ajax 

3
使我的AJAX驱动的WordPress可抓取
我阅读了以下内容,并尝试将此方案应用于运行WordPress的网站:http : //code.google.com/intl/fr-CA/web/ajaxcrawling/index.html 如果您访问我的网站http://www.visualise.ca/,您会看到它在主页上加载了帖子,并且当此网址变为http://visualise.ca/#!/anne-au-cherry帖子已加载。搜寻器可通过http://visualise.ca/anne-au-cherry获得相同内容的静态版本,但是如果使用浏览器的访问者访问了该内容,他将被重定向到http://visualise.ca/#! / anne-au-cherry(使用javascript完成)。 为了提供所需的?_escaped_fragment_=搜寻器,我使用了网上找到的WordPress WordPress:http : //www.wordpress-fr.net/support/sujet-54810-add-action-parse-request,现在GoogleBot可以查看我的AJAX驱动页面的内容。我以为一切都完成了。 但是,当我将帖子链接粘贴到Facebook(即)时,它无法读取页面的内容,因此我猜测我的网站并不真正尊重Google文档中描述的方案,因为Facebook支持它(如果您粘贴http, ://twitter.com/#!/ gablabelle即可使用)。因此,由于我使用jQuery.address插件获取哈希值(#!),因此我去了他们的网站并下载了他们的示例文件,以查看他们的文件和我的文件之间的区别,并意识到他们可能在使用php函数创建所需的HTML快照:https : //github.com/bartaz/jquery-address/blob/master/samples/crawling/index.php,因为这就是我想Facebook无法读取我的原因。 <?php error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); $fragment = $_REQUEST['_escaped_fragment_']; $file = 'data/' . (isset($fragment) && $fragment != '' && $fragment != '/' ? preg_replace('/\//', '', $fragment) : 'home') . '.xml'; $re = '/(^<[^>]*>)|(\n|\r\n|\t|\s{2,4})*/'; $handle = …
9 ajax 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.