在WordPress中调试插件时出现问题

时间:2019-04-03 作者:Wordpress Learner

我想在用户注册后在自定义表中保存额外的用户字段。

在我的插件中,我添加了user_register hook和我在用户注册时检查此代码,但我找不到任何错误,也无法打印数据。

我如何测试这段代码,如果我想在这里打印一些会反映在网页上的内容,该怎么办?

我是新来的插件创建请帮助你好的人。

<?php
/*
Plugin Name: Bonus Point Calculator Plugin
Plugin URI: 
Description: This plugin adds reward points of user.
Version: 1.0
Author: Test (Dev Team)
Author URI: http://www.test.com
Author Email: [email protected]

  Copyright 2019 Test
*/

define(\'THEMENAME\', \'listingpro\');
define(\'BONUSPOINTS_PLUGIN_PATH\', plugin_dir_path(__FILE__));

add_action(\'user_register\', \'rwdpoint_registration_save\', 10, 1);

function rwdpoint_registration_save($user_id) {
    ini_set(\'display_errors\', 1);
    ini_set(\'display_startup_errors\', 1);
    error_reporting(E_ALL);
    $user_info = get_userdata($user_id);
    $username = $user_info->user_login;
    $useremail = $user_info->user_email;
    global $wpdb;
    $sql = $wpdb->insert(\'wp_userrewardpoints\', array(
        \'rwuserid \' => $user_id,
        \'rwusername\' => $username,
        \'rwemail\' => $useremail,
        \'rwrewardpoint\' => 10,
        \'rwcreateddate\' => date("Y-m-d H:i:s")
    ) , array(
        \'%d\',
        \'%s\',
        \'%s\',
        \'%d\',
        \'%s\'
    ));
    if ($sql === false) {
        return FALSE;
    }
    else {
        return $wpdb->get_results($query);
    }
}

1 个回复
SO网友:Antti Koskinen

我所做的是,当我在本地WordPress安装上开发插件(或主题)时,我觉得自己很懒,我只是使用

var_dump($my_variable); 
die; // exit; works too
这样我就知道了发生了什么,我看到了变量何时不再是我所期望的。

我有时做的另一件事是error_log( print_r( $my_variable, true ) ); 内部函数将内容推送到错误日志中,以便稍后查看。

不幸的是,我没有对自定义表做过那么多的工作,所以我不能对这些问题发表评论。

相关推荐

WP管理员缺少图标、大量的JavaScript错误,但仅当SCRIPT_DEBUG为FALSE时

我可以访问一台Linux/Apache服务器,在那里我试图部署WordPress。为了避免这个错误,我用默认的2017主题和所有禁用的插件对其进行了测试。当我以管理员身份登录到任何wp admin页面时,左侧导航中的大多数图标都会丢失,选中的复选框没有任何复选框(例如),浏览器控制台会充满JavaScript错误。例如,在仪表板页面上,没有任何图标可见,错误控制台的内容如下:Uncaught TypeError: a.widget is not a function at load-scripts