Tag: wordpress

在WordPress后端的TinyMCE模式窗口中调用PHP函数

我正在使用为TinyMCE插件注册的静态.js文件。 单击新按钮,它会打开模态窗口,其中包含一个表单,用于生成短代码。 问题是我需要从PHP函数中填充一些表单字段。 我一直在看这篇文章几个小时,但没有找到一个可行的解决方案。 现在我的php函数是一个Shortcode,所以我需要将它改编为常规的旧函数。 但是最大的挑战是弄清楚如何安排这个,以便.js文件可以在表单中使用该函数。 这是基本的东西。 首先,.js文件的一些块: (function(){ // creates the plugin tinymce.create(‘tinymce.plugins.myshortcode’, { // creates control instances based on the control’s id. createControl : function(id, controlManager) { if (id == ‘myshortcode’) { // creates the button var button = controlManager.createButton(‘myshortcode’, { title : ‘My Shortcode’, // title of the button image : ‘../wp-content/plugins/my-shortcode/js/images/myshortcode.png’, […]

如何在元字段中创建画廊时获取wp库的短代码

我在元字段上创建了一个图库媒体加载器。 它的工作完美。 当我点击Browse ,画廊媒体加载器打开,我选择图像,然后单击Insert Gallery但我没有得到输入元字段中的库的短代码。 这是我从互联网上获得的代码: var meta_image_frame_gallery; $( ‘#additional_image_1’ ).click(function( event ) { event.preventDefault(); //var images = $( ‘#itv_additional_image_1’ ).val(); //var gallery_state = images ? ‘gallery-edit’ : ‘gallery-library’; if ( meta_image_frame_gallery ) { meta_image_frame_gallery.open(); return; } // create new media frame // You have to create new frame every time to control the Library […]

从WordPress搜索结果页面获取类别名称

我又卡了:) 在特定博客类别中的搜索查询(重定向到主WP BLOG页面)之后,我的搜索url看起来像 …/online-shop/?s=&category=new-posts-category&post_type=post 不幸的是,我无法在搜索结果页面中回显类别名称(新post类别)。 我想我尝试了所有可能的方法,我发现在Wordpress Codex(如Codex – 在我的woocommerce搜索结果中的方式工作正常)到目前为止。 知道如何解决这个问题吗? 编辑: 到目前为止我最接近的是( 来源 ) $categories = get_the_category(); // if ( ! empty( $categories ) ) { echo esc_html( $categories[0]->name ); // } 但这个回应了$ categories的第一个数组元素([0])的名称。 我不知道如何改变这一点,以便它回应当前的类别名称 – 这是唯一一个输出任何结果的版本。

在woocommerce中使用ajax从购物车中删除可变产品

我已成功实现此代码,以便使用Ajax从购物车中删除产品。 但它不适用于可变产品。 /** * Remove Cart via Ajax */ function product_remove() { global $wpdb, $woocommerce; session_start(); $cart = WC()->instance()->cart; $id = $_POST[‘product_id’]; $cart_id = $cart->generate_cart_id($id); $cart_item_id = $cart->find_product_in_cart($cart_id); if($cart_item_id){ $cart->set_quantity($cart_item_id,0); } } add_action( ‘wp_ajax_product_remove’, ‘product_remove’ ); add_action( ‘wp_ajax_nopriv_product_remove’, ‘product_remove’ ); 也许我需要将$ variation_id传递给$ cart_id,但我不知道该怎么做。

在WordPress中加载更多postAjax按钮 – 修复

在作者@dingo_d的这个页面上 ,我找到了用ajax加载更多post的最佳选择之一。 但我认为有一个问题。 如果作者或其他人可以帮助我,我真的很感激… 这部分代码不起作用,我不确定这只是对我来说还是这个代码根本不起作用..所以在function.js中我们有这个 var ppp = 3; // Post per page 并在负载发布此 var str = ‘&cat=’ + cat + ‘&pageNumber=’ + pageNumber + ‘&ppp’ + ppp + ‘&action=more_post_ajax’; 在function.php中我们有这个 $ppp = (isset($_POST[“ppp”])) ? $_POST[“ppp”] : 3; 只有这个变量’ppp’无法正常工作才能正常工作..它总是使用function.php中的这个数字’3’。如果我在function.js中编写了例如数字’5’,它仍会显示3个post。 我创建完全相同的文件,查询等等。一切都很好,只有这个var $ ppp它不起作用…你能帮我看看他的代码有什么问题吗? 谢谢

wc_countries – 州选择下拉列表 – woocommerce

我正在努力设置一个默认WooCommerce国家和州选择下拉列表的表单。 基本上,我想显示国家选择,然后根据国家选择显示州选择。 因此,如果用户选择英国,则会显示带有状态选择的新下拉菜单。 我得到了这个: __get(‘countries’); $default_country = $countries_obj->get_base_country(); $default_county_states = $countries_obj->get_states( $default_country ); echo ” . __(‘Countries’) . ”; woocommerce_form_field(‘my_country_field’, array( ‘type’ => ‘select’, ‘class’ => array( ‘chzn-drop’ ), ‘label’ => __(‘Item ships from – country’), ‘placeholder’ => __(‘Select a Country’), ‘options’ => $countries ) ); echo ”; echo ” . __(‘States’) . ”; woocommerce_form_field(‘my_state_field’, […]

如何从WordPress中的jquery include函数中删除版本查询var

这里有几个类似的问题,但似乎都没有解决我的具体案例,至少不是我发现的。 这是我在WP主题中包含最新jquery版本的代码,也是为了确保它出现在页脚中。 function current_jquery($version) { global $wp_scripts; if ( ( version_compare($version, $wp_scripts -> registered[jquery] -> ver) == 1 ) && !is_admin() ) { wp_deregister_script(‘jquery’); wp_register_script(‘jquery’, ‘http://ajax.googleapis.com/ajax/libs/jquery/’.$version.’/jquery.min.js’, false, $version, true); } } add_action(‘wp_head’, current_jquery(‘1.5.1’)); 然后我使用wp_enqueue_script(“jquery”); 在header.php中它可以工作,除了我得到一个jquery包含以“jquery.min.js?ver = 1.5.1”结尾,我想摆脱查询部分。 我查看了wp_register_script函数,并从我读到的内容中删除了我需要用空格字符串”替换最后一个变量的第二个查询。 但是,当我这样做时,我得到了“默认”wordpress版本,即“jquery.min.js?ver = 3.0.1”(或者当时可能发生的任何事情)。 因为我不是100%理解这里发生的一切(在current_jquery,add_action和wp_enqueue_script之间)我甚至不知道从哪里开始($ version以某种方式获得分配WP版本值?)我所知道的是wp_register_script不是似乎按照文档记录的方式响应版本输入。 我在这里想念的是什么? 我应该补充一点,我想避免在输出“src”字符串上使用字符串操作(split,reg_replace,你有什么)来执行此操作,因为必须有更好的方法。

CloudZoom与Fancybox

我对javascript有点新,因为我在开发网页时大多只是习惯使用CSS样式。 我试图将Fancybox与Cloudzoom集成时遇到了问题。 我一直在努力遵循这里所指示的指示: http : //blog.codestars.eu/2010/cloud-zoom-in-der-fancybox/ 我能够使效果完美地工作,除了一个小错误 – 由于某种原因(我的所有图像都在画廊中以便于使用滚动浏览fancybox),缩放只显示系列中的第一个图像。 如果有人可以帮助我解决这个问题? 在这里预览任何一个画廊: http : //bit.ly/LaPzEH 这是我认为稍微偏离的一点点 – 我认为它与此代码中的href行有关: $j(‘a[rel=gallery]’).fancybox({ padding: 0, overlayColor: ‘#’+$j(‘#skin_color’).val(), transitionIn: ‘fade’, transitionOut: ‘fade’, overlayOpacity: .9, onComplete : function(arg) { $(‘#fancybox-img’).wrap( $(”) .attr(‘href’, $(arg[0]).attr(‘href’)) .addClass(‘cloud-zoom’) .attr(‘rel’, “position: ‘inside'”) ); $(‘.cloud-zoom’).CloudZoom(); } }); 非常感谢任何帮助! 编辑:通过改变让它工作 $(arg[0]).attr(‘href’) 至 this.href 另外(因为我找不到很多cloudzoom / fancybox线程)你也可以通过编辑fancybox的JS代码来改变从内到右的位置等,使fancybox-inner显示为可见而不是隐藏。

WordPress中的jQuery自动完成和特殊字符

希望我不会错过这个问题的现有答案。 我正在使用wordpress主题,使用jquery ui自动完成function以前端forms提供类别选择。 代码如下。 问题是,如果类别名称具有&,则无法显示该字符,而是显示& 在自动完成框中。 我可以让它正确显示角色吗? ` jQuery(function(){ /* Auto Complete */ var availableTags = [ name.'”‘; } echo implode(‘,’, $terms_array); ?> ]; function split( val ) { return val.split( /,\s*/ ); } function extractLast( term ) { return split( term ).pop(); } jQuery(“#majors_wrap input”).live( “keydown”, function( event ) { if ( (event.keyCode === […]

jQuery .each()over .wp-caption

当存在标题时,WordPress会向.wp-caption容器添加额外的10px。 我正在尝试使用jQuery删除额外的10px。 由于这个问题的答案,我已经能够做到这一点 ,但我意识到b / c有时会在post中有多个图像,我需要使用某些东西来实现.each()的迭代效果。 下面的代码适用于第一张图像,但后来错误地将第一张图像应用于第二张图像的容器。 如何更正.each()才能正常工作? jQuery().ready(function() { jQuery(“.wp-caption”).each(function(n) { var width = jQuery(“.wp-caption img”).width(); jQuery(“.wp-caption”).width(width); }); }); 示例w / javascript on 示例w / javascript off 更新:以下最简化的解决方案: jQuery().ready(function( $ ) { $(“.wp-caption”).width(function() { return $(‘img’, this).width(); }); }); 或者用$ jQuery替换$以防止冲突: jQuery().ready(function( jQuery ) { jQuery(“.wp-caption”).width(function() { return jQuery(‘img’, this).width(); }); }); 两者都有效! =)