WordPress独立的functions.php

时间:2018-03-21 15:06:48

标签: php wordpress wordpress-theming bbpress

我在内部服务器上安装了新的WordPress和bbPress。

当我设置bbPress时,我想测试创建论坛,主题等功能。当在后端(仪表板)中执行这些操作时,似乎没有任何问题,但当我从前端做到这一点,我一直在

ERROR: Are you sure you wanted to do that?

我搜索了一个解决方案并找到this

add_filter( 'bbp_verify_nonce_request_url', 'my_bbp_verify_nonce_request_url', 999, 1 );
function my_bbp_verify_nonce_request_url( $requested_url )
{
  return 'http://localhost:8888' . $_SERVER['REQUEST_URI'];
}

我只是将硬编码的URL更改为我们的内部服务器设置的内容,它解决了问题。

现在我的问题:我是否可以将此解决方案添加到与所使用的主题无关的functions.php?我问这个是因为我有两个问题:

  • 当前主题可能会更新并覆盖文件

我知道对此的解决方案只是创建一个子主题,但我的第二个问题阻止我这样做。

  • WordPress管理员可能会更改主题,因此主题上的functions.php文件和子主题都将停止工作

我如何添加上述解决方案,以便我不必担心将来更新主题和/或替换为新主题?每次管理员决定更改主题时,我都不想继续添加此解决方案。

1 个答案:

答案 0 :(得分:1)

如果您无法将其放入主题中,请将其放入插件中。如果您担心插件会被取消激活,请将其设为Must Use Plugin

创建插件很简单。创建文件plugin-name.php并将其放在目录wp-content/plugins/plugin-name/中。该文件应包含以下代码:

<?php
/*
Plugin Name: Name Of The Plugin
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: A brief description of the Plugin.
Version: The Plugin's Version Number, e.g.: 1.0
Author: Name Of The Plugin Author
Author URI: http://URI_Of_The_Plugin_Author
License: A "Slug" license name e.g. GPL2
*/

add_filter( 'bbp_verify_nonce_request_url', 'my_bbp_verify_nonce_request_url', 999, 1 );
function my_bbp_verify_nonce_request_url( $requested_url )
{
  return 'http://localhost:8888' . $_SERVER['REQUEST_URI'];
}

如果您希望它是必须使用的插件,请将其放在wp-content/mu-plugins/而不是wp-content/plugins