WP插件在网站上线后无法工作

时间:2018-12-12 作者:Nls

我试图理解Wordpress插件,我制作了一个很好的小插件,可以让你上传图像到媒体上。

然而,这只适用于localhost,在我将文件移动到主机后,它就停止了工作。

我的插件按钮仍然有效,当我点击它时,它会将我重定向到一个空页面。

我应该如何解决此问题?

这是我的索引:https://pastebin.com/CU7AeGWD按钮如下:https://pastebin.com/bLG50tJp

小费将不胜感激。

3 个回复
SO网友:Jim

请检查以下内容

您已经检查了Wordpress安装的URL,您已经检查了您的网络主机是否与上载兼容(文件权限、用户权限)

  • 您重新保存了永久链接(以确保正确使用URL)
    • 编辑:这少量信息给了我们很少的工作空间。此外,请检查您是否将WP Debug设置为true,因为它可能会为您提供通常无法获得的信息。

    SO网友:Hector

    首先,您不需要包含来自的WordPress文件wp-admin 文件夹,因为您正在使用media_handle_upload 在管理端。只有当您想从前端上传时,才需要它们。

    因此,您可以删除这些代码行:

    $path = get_home_path();
    
    require_once( $path . \'wp-admin/includes/image.php\' );
    require_once( $path . \'wp-admin/includes/file.php\' );
    require_once( $path . \'wp-admin/includes/media.php\' );
    
    那么,请尝试填写action 您的属性form 使用# 因为空值无效,在提交表单时可能会出现问题。

    此外,调试日志中的非与代码相关。

    检查media_handle_upload documentation 示例代码。

    编辑:为了调试代码并查看上载的结果,可以使用error_log 激活后的功能WP_DEBUG_LOG.

    $attachment_id = media_handle_upload( \'fileToUpload\', 0);
    // Log results.
    ob_start();
    var_dump( $attachment_id );
    error_log( ob_get_clean() );
    
    然后你可以检查wp-content/debug.log 文件以查看发生的情况。

    SO网友:Nls

    谢谢大家帮助我,让我的代码变得更好!这是解决方案:函数\\u custom\\u menu\\u page(){include\\u onceDIR . \'/指数php“;}它终于起作用了!

    相关推荐

    Testing Plugins for Multisite

    我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。