我正在使用WPGlobus插件来制作网站多语言.小部件正在小部件区域中显示,但我想手动添加语言切换器按钮.我搜索它的短代码来显示语言切换器标志.但没有找到任何短代码.通过短代码手动显示按钮的最佳方法.
我创建了一个插件,取代了我之前编写的插件,并添加了一些额外的东西.我想在我的旧插件的设置页面中创建一个警报,其中包含下载和安装我的新插件的链接,并告知他们开发人员不再支持旧插件.目前,从我的管理面板的插件页面,安装链接如下所示:
http://www.example.com/wp-admin/network/update.php?action=install-plugin&plugin=wptouch&_wpnonce=a8d64aa295
Run Code Online (Sandbox Code Playgroud)
在我看来,创建URI时至少要记住两件事:
有谁知道如何正确地做到这一点?生成此URI时还需要考虑其他事项吗?
在此先感谢您的帮助.
当用户更新其电子邮件地址时是否会触发任何钩子/事件/操作/方法?当用户更新其电子邮件地址时,我需要从我的插件中执行某些操作.有没有办法从我的插件检查,而不改变Wordpress的核心?
我正在使用WP v3.3.1,我正在尝试制作一个插件.我已经半工作了.它启动了,add_action工作,但由于某些原因我的过滤器没有被触发.当我用Google搜索时,我看到我本应该这样做,但它不起作用.我也尝试将它包括在课外,这也没有用.错误日志是从构造函数写入的,但不是xmlAddMethod.我在单个文件中测试了xmlrpc调用,但是它有效,但是在编写类时遇到了问题.
//DOESN'T WORK HERE
add_filter( 'xmlrpc_methods', array( &$this, 'xmlAddMethod') );
class TargetDomain extends Domain
{
public function __construct()
{
error_log('TARGET: __construct');
//DOESN'T WORK HERE EITHER
add_filter( 'xmlrpc_methods', array( &$this, 'xmlAddMethod') );
parent::__construct();
}
function xmlAddMethod( $methods )
{
error_log('TARGET: xml_add_method');
$methods['myBlog.publishPost'] = 'publishMyPost';
return $methods;
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个带有小部件的wordpress插件.目前,小部件的更新功能如下所示.
function update($new, $old){
$instance = $old;
//Update Values
$instance['element-one'] = $new['element-one'];
$instance['element-two'] = $new['element-two'];
$instance['element-three'] = $new['element-three'];
$instance['element-four'] = $new['element-four'];
//Return New Instance
return $instance;
Run Code Online (Sandbox Code Playgroud)
这应该是应该的.但我有一长串的元素,为了清洁代码我试图用一个简单的功能实现它们如下:
function update($new, $old){
$instance = $old;
//Update Values
foreach($instance as $k => $v){
$instance[$k] = $new[$k];
}
//Return New Instance
return $instance;
Run Code Online (Sandbox Code Playgroud)
虽然这似乎不起作用.如果我使用此功能,则不会更新Widget值.所以只是为了测试它是否按照我想要的方式工作......我写了一个工作正常的示例脚本.脚本如下.
$a = array(
'a' => '1',
'b' => '2',
'c' => '3'
);
$b = array(
'a' => 'A',
'b' => 'B',
'c' => 'C'
);
function swap_values($old, $new){
$result …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法将类方法传递给回调函数参数.
我通常使用create_function()如下,但我听说它很慢并且很难调试.
add_action('init', create_function('', '$o = new AdminPageClass;'));
class AdminPageClass {
function __construct() {
add_action('admin_menu', array(&$this, 'admin_menu'));
}
function admin_menu() {
add_options_page(
'Sample Admin Page Class',
'Sample Admin Page Class',
'manage_options',
'sample_admin-page_class',
array(&$this, 'admin_page'));
}
function admin_page() {
?>
<div class="wrap">
<h1>Hi there</h1>
<p>Hello World!</p>
</div>
<?php
}
}
Run Code Online (Sandbox Code Playgroud)
当然,它可以通过这样的额外功能来完成; 但是,如果可能的话,我想在没有它的情况下这样做.
add_action('init', 'load_admin_page_class');
function load_admin_page_class() {
$o = new AdminPageClass;
}
Run Code Online (Sandbox Code Playgroud)
此外,在它之前实例化类对象使其成为可能,但它也创建了一个额外的行.
$o = new AdminPageClass;
add_action('admin_menu', array(&$o, 'admin_menu'));
class AdminPageClass {
function admin_menu() {
add_options_page(
'Sample Admin …Run Code Online (Sandbox Code Playgroud) 我有一个模棱两可的错误。错误中的路径是正确的:
警告!WP Super Cache缓存损坏!脚本advanced-cache.php无法加载wp-cache-phase1.php。
请编辑/wp-content/advanced-cache.php,并确保/wp-content/plugins/wp-super-cache/wp-cache-phase1.php的路径正确。
需要解决什么?
我为我的wordpress项目开发了插件.我用5.3 php在我的本地xampp服务器上成功测试了它.然后我用php 5.2将我的项目上传到web主机.我遇到的第一个麻烦是不支持php 5.2中的匿名函数.没问题,我用名字重新声明了所有功能.但后来我得到错误调用未定义的函数add_options_page(),我没有解释.Plz帮助我们提出建议
我的代码部分:
function mainPage(){
///some code
}
function mainPage2(){
add_options_page('Submissions of MAIN page contact form', 'Submissions of MAIN page contact form', 'manage_options','ea_submissions2', mainPage());
}
add_action('admin_menu',mainPage2());
Run Code Online (Sandbox Code Playgroud)
我认为我的功能有问题,请仔细看看. 我认为php 5.2没有问题,这部分代码也不适用于php 5.3!我的代码有问题
任何人都知道如何从woocommmerce复制/复制订单并从旧订单创建新订单?
我在支付网关工作,在定期订阅付款后,我需要复制新订单并标记为付款!!!!
那可能吗?
干杯.
我已经为Woocommerce开发了一个支付网关插件,它在很大程度上依赖于一些JavaScript,这些JavaScript会加载弹出窗口来捕获用户详细信息。仅当从单选按钮中选择该网关时,我才需要运行该javascript。由于某种原因,它不起作用。这是我的代码
jQuery(document).ready(function() {
usingGateway();
jQuery('form[name="checkout"] input[name="payment_method"]:checked').change(function(){
usingGateway();
});
});
function usingGateway(){
console.log(jQuery("input[name='payment_method']:checked").val());
if(jQuery('form[name="checkout"] input[name="payment_method"]:checked').val() == 'my_gateway'){
console.log("Using my gateway");
//Etc etc
}else{
console.log("Not using my gateway. Proceed as usual");
}
}
Run Code Online (Sandbox Code Playgroud)
似乎woocommerce以某种方式覆盖了javascript,因为即使选中了单选按钮,我的payment_method的console.log始终是未定义的。然后,IF块将被跳过,并且始终显示“不使用我的网关。当我注释掉IF语句时,支付网关可以正常工作。
但是我需要它工作,因为如果用户选择其他付款方式(甚至是BACS或离线付款),则javascript仍会加载弹出窗口,并尝试使用我的自定义网关处理付款。
更新:根据rnevius的评论,我检查了woocommerce checkout.js并将其从那里复制到我的插件javascript中:
var payment_methods = jQuery('.woocommerce-checkout').find( 'input[name="payment_method"]' );
if ( 0 === payment_methods.filter( ':checked' ).size() ) {
payment_methods.eq(0).attr( 'checked', 'checked' );
}
Run Code Online (Sandbox Code Playgroud)
因此,基本上,如果尚未检查任何内容,woocommerce将强制检查第一项。不知道为什么我需要这样做,因为woocommerce已经在checkout.js中做到了,现在可以工作,但是如果我的网关还不是第一个选定的网关,那么“ change”功能仍然无法使用(当您更改到我的网关时)从另一个)。请帮忙。
javascript wordpress payment-gateway wordpress-plugin woocommerce
wordpress-plugin ×10
wordpress ×8
php ×2
woocommerce ×2
class ×1
foreach ×1
function ×1
javascript ×1
multilingual ×1
nonce ×1