小编Max*_*ime的帖子

WordPress插件:在管理面板中单击按钮时调用功能

我需要创建一个WordPress插件,在单击管理面板中的按钮时调用PHP函数.我一直在寻找编写基本WordPress插件和添加管理面板的教程,但我仍然不明白如何在我的插件中将按钮注册到特定功能.

这是我到目前为止所拥有的:

/*
Plugin Name: 
Plugin URI: 
Description: 
Author:
Version: 1.0
Author URI:
*/


add_action('admin_menu', 'wc_plugin_menu');

function wc_plugin_menu(){
 add_management_page('Title', 'MenuTitle', 'manage_options', 'wc-admin-menu', 'wc_plugin_options'); 

}

function wc_plugin_options(){
if (!current_user_can('manage_options'))  {
    wp_die( __('You do not have sufficient permissions to access this page.')    );
}
echo '<div class="wrap">';
echo '<button>Call Function!</button>'; //add some type of hook to call function
echo '</div>';

}

function button_function()
{
//do some stuff
} 


?>
Run Code Online (Sandbox Code Playgroud)

wordpress

24
推荐指数
2
解决办法
4万
查看次数

.htaccess&Wordpress:从RewriteRule中排除文件夹

我在Wordpress中有这个.htaccess文件.它位于/ public_html /(web root).我需要从重写引擎中排除一个文件夹(csNewsAd).我已经尝试过这个,基于SO在此类似的另一个问题,但根本没有用.

AddHandler x-httpd-php5 .php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/csNewsAd($|/) - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

有什么建议?

更多数据

内部/ csNewsAd中有另一个.htaccess用于密码保护:


AuthName "Clasificados"
AuthType "basic"
AuthUserFile /home/ig000192/public_html/csNewsAd/.passwd
Require valid-user

wordpress .htaccess mod-rewrite

23
推荐指数
4
解决办法
7万
查看次数

Woocommerce付款完全挂钩

经过长时间的搜索,我找到了这篇文章:

WooCommerce勾选"付款后完成"操作

谈论在woocommerce中创建webhooks以通知脚本做...某事......并不重要.

我还阅读了我在woocommerce docs中可以找到的所有内容.

但是我需要一些关于在另一端实际编写处理程序的文档或指导.

我的目标是收到付款完成通知,然后在购买后将用户移动到不同的列表(客户列表而不是潜在客户列表) - 我在内部使用PHPlist作为我的列表管理器.我很确定我可以处理那部分,如果我能让听众继续...

但是..我不知道Web钩子发送了什么,如何让它发送我想要的数据,以及如何处理监听器.

我也发现了这个:

https://wordpress.org/support/topic/plugin-woocommerce-excelling-ecommerce-order-id-for-payment-notification-to-external-webservice?replies=4

哪 - 可能有用吗?我仍然不确定从哪里开始听,或者如果这篇文章仍有效,鉴于它已经有几年了......

谢谢!

- 亚伦

webhooks woocommerce

21
推荐指数
2
解决办法
3万
查看次数

如何在wordpress中更改会话过期时间

如果用户(admin)在wordpress站点中处于非活动状态15分钟,我希望会话到期,

任何人都可以告诉我什么是wordpress中的默认会话到期时间?以及如何更改默认过期时间.

wordpress session

19
推荐指数
1
解决办法
6万
查看次数

在Woocommerce 3中获取订单商品和WC_Order_Item_Product

好了,阅读Woocommerce 3.0+的变化,似乎你不能再直接访问这个类了,所以我认为这个代码需要改变,因为它正在吐出一个错误:

$order_item_id = 15;
$order_item = new WC_Order_Item_Product($order_item_id);
$return = $order_item->get_id() ? $order_item : false;
Run Code Online (Sandbox Code Playgroud)

但是,令人尴尬的是,我不确定如何更改此代码以在此类的最新版本中使用正确的新getter和setter函数,该类不再具有构造.怎么做得好?我没有看到任何get关于获得订单项的功能与上述相同.
https://docs.woocommerce.com/wc-apidocs/class-WC_Order_Item_Product.html

也许我在这里忽视一些事情?

php wordpress product orders woocommerce

18
推荐指数
1
解决办法
3万
查看次数

如何在查询具有GROUP BY时获得总数的百分比?

假设我有一个非规范化的表格,其中包含电影演员名称和他们所在的电影.

CREATE TABLE movies_actors (
  movies_actors_id INT,
  movie VARCHAR(255),
  actor VARCHAR(255),
  PRIMARY KEY (movies_actors_id)
);
Run Code Online (Sandbox Code Playgroud)

我这样做是SELECT actor, COUNT(1) FROM movies_actors GROUP BY actor为了找出这位演员有多少部电影.但我也想知道演员的电影比例是多少.

我想我能做到这一点:

SELECT
  actor,
  COUNT(1) AS total,
  COUNT(1) / (SELECT COUNT(1) FROM movies_actors) * 100 AS avg
FROM movies_actors
GROUP BY actor;
Run Code Online (Sandbox Code Playgroud)

但这似乎......呃...很难过.

有任何想法吗?

mysql sql

16
推荐指数
1
解决办法
3万
查看次数

使用WordPress $ wpdb将数据插入WordPress数据库中的表

我正在开始插件开发并遵循WordPress Codex站点上的教程.我现在卡住了 - 我有一个名为"wp_imlisteningto"的数据库,其中wp_插入了:

$table_name = $wpdb->prefix . "imlisteningto";
Run Code Online (Sandbox Code Playgroud)

当插件被激活时.

数据库本身有三列,在激活插件时设置:

$sql = "CREATE TABLE $table_name (
id mediumint(9) AUTO_INCREMENT,
album VARCHAR(50),
artist VARCHAR(50),
PRIMARY  KEY (id)
);";
Run Code Online (Sandbox Code Playgroud)

我试图从PHP表单插入数据(通过创建一个新行)到这个数据库.

在WordPress管理员中,我创建了一个具有非常简单形式的新页面:

<form action="/wp-content/plugins/listeningto/formhtml.php" method="post">
Album: <input type="text" name="album" />
Artist: <input type="text" name="artist" />
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

你可以看到哪个电话formhtml.php,这是:

<?php
global $wpdb;

$wpdb->insert( $table_name, array( 'album' => $_POST['album'], 'artist' => $_POST['artist'] ), array( '$s', '$s' ) );
?>
Run Code Online (Sandbox Code Playgroud)

当我提交表单时,我得到一个Error 500.0在Worpdress上运行插件时IIS7.0,以及"Page Not Found"在另一个运行的Web服务器上运行时 …

php forms wordpress

14
推荐指数
2
解决办法
6万
查看次数

阻止跨源请求

我有一个wordpress网站,我从godaddy密封中得到一个错误.我在我的网站页脚的小部件部分中有验证图像的html.

当我重新加载页面并检查firebug时,我在控制台中收到此错误.

跨源请求已阻止:同源策略不允许在https://seal.godaddy.com/setSealAttr?sealID=ID#上读取远程资源 .这可以通过将资源移动到同一域或启用CORS来解决.

我试图查找有关这个问题的信息,这有点过头了.任何人都可以告诉我什么是抛出这个错误以及我如何解决这个问题?我只是想了解这个错误是如何发生的.这是某个地方与jquery的冲突问题,还是密封加载的方式或者加载时间?

任何帮助将不胜感激.

wordpress ssl jquery

14
推荐指数
2
解决办法
9万
查看次数

如何在Wordpress中使用error_log()?

我正在尝试使用error_log()我正在构建的自定义Wordpress插件,但出于某种原因,我不能.

当我使用error_log()我的网站时,我只是休息,但我没有看到任何错误debug.log.

我在我的wp_config.php文件中设置调试如下:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Run Code Online (Sandbox Code Playgroud)

Stranegly,如果我error_log()在我的主题中使用,该网站不会破坏,但也没有任何输出debug.log.

我需要做什么才能error_log()在我的Wordpress插件和主题中使用?

我正在使用Wordpress 3.9.1.

php debugging wordpress error-logging

14
推荐指数
2
解决办法
2万
查看次数

wp_title过滤器对<title>标记没有任何影响

我刚刚在我的主题functions.php文件中添加了以下过滤器:

function change_the_title() {
    return 'My modified title';
}
add_filter('wp_title', 'change_the_title');
Run Code Online (Sandbox Code Playgroud)

在我的header.php:

<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta id="viewport" name="viewport" content="width=device-width">
    <link rel="profile" href="http://gmpg.org/xfn/11">
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
    <?php wp_head(); ?>
</head>
<body <?php body_class();?>>
Run Code Online (Sandbox Code Playgroud)

然后,我发现我的网页没有标题改变!并且标题标签被注入wp_head函数中.

更多,如果我wp_title在标题中手动调用该函数,它确实返回预期值.

怎么了?我该如何解决这个问题?


另外:我的WordPress版本是4.4.

html php wordpress

12
推荐指数
1
解决办法
1万
查看次数