Tag: wordpress

如何在wordpress的前端调用ajax

在我的插件文件夹中,我有两个文件1. hello-ajax.php 2. myajax.js 并通过短代码我在前端添加此表单   This is where we\’ll get the response 在插件文件中,我添加了js文件: wp_enqueue_script( ‘my-ajax-handle’, plugin_dir_url( __FILE__ ) . ‘myajax.js’, array( ‘jquery’ ) ); wp_localize_script( ‘my-ajax-handle’, ‘the_ajax_script’, array( ‘ajaxurl’ => admin_url( ‘admin-ajax.php’ ) ) ); // THE AJAX ADD ACTIONS add_action( ‘wp_ajax_the_ajax_hook’, ‘the_action_function’ ); add_action( ‘wp_ajax_nopriv_the_ajax_hook’, ‘the_action_function’ ); // need this to serve non […]

我如何在不同数量的输入字段上进行JavaScript数学运算?

我正在构建一个WordPress插件,用于处理发票等。 我的想法是,当我创建新发票时,插件会自动生成一行,其中包含当前可用的每种产品的默认值(存储在其他地方,并不总是相同)。 问题是我希望能够只输入数量并让插件为我计算总计每行的所有数学,然后是小计,然后是整个发票的总计。 但我的发票行是动态生成的,所以我不一定知道我会有多少。 这就是我的意思: 这些产品是由WordPress发给我的,然后我在发票上为每一个存在的一行输出一行,同时在输入框名称的末尾附加一个数字,这样我就可以知道哪个是什么时候我稍后保存信息。 //Define the contents of the invoice lines box function wpdsd_invoice_lines_mb_contents(){ //Get an array off all available products, sorted by item position as set by user $arguments = array( ‘post_type’ => ‘wpdsd_product’, ‘numberposts’ => ‘-1’, ‘order’ => ‘ASC’, ‘orderby’ => ‘meta_value’, ‘meta_key’ => ‘wpdsd_item_position’, ); $products = get_posts($arguments); //Output an […]

json_encode返回200并且未定义

我想要一个代码来添加或删除数据库书签。 代码已准备就绪,它正确地添加和删除数据库书签,但是当我调用该函数时,即使代码工作,它也会继续返回json error而不是json success 。 我想知道代码有什么问题(我从其他地方得到并适应)因为客户端没有接收到正确的值true或false ,它只触发json beforeSending和json error 。 服务器端: if($isFavorite) { // if it’s favorite, remove from bookmarks return json_encode(array(“status” => true, “added” => false)); } else { // if it’s not favorite, include into bookmarks return json_encode(array(“status” => false, “added” => true)); } 客户端: function addItemToUsersList(userId, type, itemId) { jQuery.ajax({ ‘url’: ‘xxx’, […]

通过ajax更新woocommerce送货方式

我正在使用Wordpress和Woocommerce建立一个食品订购网站。 到目前为止,我一直表现不错,但卡在一个应该自动选择Shipping方法的地方。 流动是什么样的? 用户访问我的网站并输入交付地址的邮政编码,然后我的网站显示以该邮政编码提供的餐馆。 一些餐馆以较短的时间和较少的运费提供邮政编码,但有些餐馆需要更多的时间并且需要更多的运费。 到目前为止我所做的是我从任何一家餐馆提供的数据库中获取运输代码。 如果列表中不存在用户的邮政编码,我们会提醒我们继续前进。 下一步是在较短的交货时间内获取以该邮政编码提供的所有餐馆,然后以更多的交货时间提供以该邮政编码递送的餐馆。 基于更少或更多的交付时间,我分别在区域A或区域B中标记用户。 我为A区和B区创建了统一运费方式,可以从购物车/结账页面的下拉菜单中选择。 现在问题就在于此。 用户不应选择运费率。 应根据用户标记的区域自动选择和应用它。 这种自动更新不是我能够实现的。 我试过了什么? 正确的流程应该是将此区域置于Woocommerce会话中,应该在用户到达购物车或结帐页面时自动选择并应用。 我无法找到正确的方法来调用哪个可以触发ajax调用来更新运费。 任何想法都会有所帮助。 问候 Stackoverflow上的类似线程

在woocommerce中有条件地设置结帐领域

如何从服务器端有条件地取消设置其他两个字段并从中删除所需的validation? 以下是表单的外观: 这是代码: function bs_filter_checkout_fields($fields){ $fields[‘billing’] = array( ‘add_type’ => array( ‘type’ => ‘radio’, ‘label’ => __( ‘Address Type’ ), ‘options’ => array( ‘house’ => __( ‘House’ ), ‘building’ => __( ‘Building’ ), ‘office’ => __( ‘Office’ ) ), ‘required’ => true ), ‘add_house_name’ => array( ‘type’ => ‘text’, ‘required’ => true, ‘placeholder’ => __( […]

WordPress将脚本和样式排入队列

我使用开源WordPress主题,并希望从header.php文件中删除样式和脚本并正确编写它们。 我已经将以下代码添加到我的functions.php文件中,没有任何反应。 function smarter_scripts() { wp_enqueue_style( ‘smarter-bootstrap’, ‘//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css’ ); wp_enqueue_style( ‘smarter-font-awesome’, ‘//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css’ ); wp_enqueue_style( ‘smarter-google-fonts-open-sans’, ‘//fonts.googleapis.com/css?family=Open+Sans:600,400,300,700’ ); wp_enqueue_style( ‘smarter-google-fonts-josefin’, ‘//fonts.googleapis.com/css?family=Josefin+Sans:400,600’ ); wp_enqueue_style( ‘smarter-style’, get_template_directory_uri(). ‘/style.css’ ); if (!is_admin()) { // comment out the next two lines to load the local copy of jQuery //wp_deregister_script(‘jquery’); //wp_register_script(‘jquery’, ‘https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js’, false, ‘1.11.2’); wp_enqueue_script(‘jquery’); } // load a JS file […]

导航箭头不在fancybox中工作

我正在尝试让fancybox2在我的网站上运行,并且导航箭头出现问题。 当查看作为图库的一部分的图像(相同的rel)时,单击上一个/下一个箭头只会导致一个空的方形fancybox,其中“next”(或“previous”)作为标题。 我无法回到我正在寻找的图像,必须关闭fancybox。 奇怪的是,Fancybox似乎工作正常,所有脚本和CSS都正确加载,我能够在fancybox中打开图像,甚至可以通过键盘或点击内容在同一个图库的项目之间导航激活nextclick选项时(因此显示我自己的选项被正确考虑)。 配置:wordpress 3.3.1,php 5.5.9,在更新的Chrome和FF上测试。 以下是我使用的一些代码部分: jQuery(document).ready(function() { jQuery(“a[class*=fancybox]”).fancybox({ nextClick:’true’, openEffect : ‘elastic’, closeEffect : ‘fade’, nextEffect : ‘easeOutBack’, prevEffect : ‘easeInBack’, helpers : { title : { type : ‘outside’ } }, }); }); 在我的页面上,我的图库设置了不同的项目,定义如下: 感谢您的帮助!

jQuery ajax返回readyState 1或不正确的数据类型

我为Wordpress插件编写脚本,并且遇到ajax响应问题。 当我想要获取json文件时,jQuery.ajax返回{readyState: 1} 。 jQuery.ajax with async: false返回纯文本,虽然我有dataType: ‘json’ 。 App.Language = { GetLanguageFile: function(lang) { var LangFile = GetJsonLanguageFile(lang); return LangFile; }, } function GetJsonLanguageFile(lang) { var json = $.ajax({ url: ajaxurl, type: ‘POST’, dataType: ‘json’, // async: false, data: {action:’adminajax’,method:’GetJsonLanguageFile’,language: lang}, }) return json; } 当函数返回readyState:1时,在控制台中我有一个带有键“responseText”的对象和来自json文件的纯文本结果但我无法得到这个键值,当函数是异步时,返回的是对象,我可以得到结果但它是一个纯文本,虽然我有dataType:’json’。 我做错了什么? 如何从这个json文件内容制作普通对象?

脚本奇怪的行为

我正在运行一个新的安全WordPress安装(https)。 在我的代码中我加载了一些JavaScript文件(modernizr,cookie和我自己的) jQuery由WordPress自动加载。 安装的插件是Yoast SEO,WPML和SMK Sidebars。 问题是当我在浏览器中检查控制台时,它显示以下内容: 混合内容:“ https://www.myuri.com/ ”页面是通过HTTPS加载的,但是请求了一个不安全的脚本“ http://www.wplibs.org/jquery.min.js ”。 此请求已被阻止; 内容必须通过HTTPS提供。 在源代码中: if(!document.referrer || document.referrer == ”) { document.write(”); } else { document.write(”); } 我正在寻找脚本“wplibs.com/jquery.min.js”来自哪里,但我找不到。 有人有想法吗?

在TinyMCE编辑器中使用jQuery Validate插件

我正在使用jQuery的Validate插件实现客户端validation,并简要介绍了使用TinyMCE编辑器组件的表单字段。 这会在我的表单字段的包含标记下呈现一个非常复杂的控制树,包括实际编辑区域的iframe和textarea元素。 我无法直接访问textarea ,所以在调用.validate()之前添加’required’属性,如下所示: jQuery(function() { jQuery(“#wpsm_body”).addClass(“required”); jQuery(“#wpsm-send-mail”) .validate( { errorContainer : “#wpsm-top-error-container, #wpsm-bottom-error-container”, errorLabelContainer : “#wpsm-top-error-container ul”, wrapper : “li”, messages : { wpsm_from : “The message has no ‘From’ address. The administrator can set a default for this on the SuperMail ‘Settings’ page.”, wpsm_subject : “The message has no subject.”, wpsm_body : “The […]