5

我很确定我已经在某处读过,您实际上可以将主插件 *.php 文件移动到其他地方(我假设在您的主题目录下)以确保它安全,以防您对其进行更改和插件更新。我尝试了谷歌,但我找不到任何东西。具有良好结果的谷歌页面就足够了。

我刚刚经历了一种情况,我的 2 个插件的布局发生了变化并满足了我的需求,我想确保它不会再次发生。除了将主文件放在另一个位置之外,还有没有办法移动任何 CSS 和 JS 文件?

在 Concrete5 CMS 中有一个很好的方法,通过在插件块(可能被视为 WP 插件)内创建一个新文件夹,您可以在其中创建主文件、任何 CSS 和 JS 文件的副本以及然后您可以简单地编辑它们并为您正在使用该块的页面位置选择该模板。

我认为 Wordpress 中没有这样的东西,但我能走多远?

更新:我发现我在创建文件的新实例然后将其移动到主题目录时应用了该建议。有问题的插件是 HL-Twitter。这些是插件文件:

admin.php
archive.php
functions.php
hl_twitter.php
hl_twitter_archive.php
hl_twitter_widget.php
import.php
widget.php

现在,这是 hl_twitter_widget.php 的顶部内容(已注释掉):

Widget Theme for HL Twitter
To change this theme, copy hl_twitter_widget.php
to your current theme folder, do not edit this
file directly.

Available Properties:
$before_widget
$after_widget
$before_title
$after_title
$widget_title
$show_avatars
$show_powered_by
$num_tweets: how many tweets to show
$tweets: array of $tweet
$tweet: object representing a tweet
$tweet->twitter_tweet_id
$tweet->tweet
$tweet->lat
$tweet->lon
$tweet->created
$tweet->reply_tweet_id
$tweet->reply_screen_name
$tweet->source
$tweet->screen_name
$tweet->name
$tweet->avatar
$user: represents the Twitter user (ONLY SET IF SHOWING A SINGLE USERS TWEETS!)
$user->twitter_user_id
$user->screen_name
$user->name
$user->num_friends
$user->num_followers
$user->num_tweets
$user->registered
$user->url
$user->description
$user->location
$user->avatar       

所以我复制主文件(在本例中为 hl_twitter.php)是错误的,但仍然 - 这使我能够编辑插件目录之外的文件,系统以某种方式检查它的存在并在存在时将其拾取。如果这种行为是 Wordpress 本身支持的,或者它已集成到插件本身中?

4

2 回答 2

4

对于主题,Wordpress 有一个“子主题”的概念,它允许这样做:将更改与主主题分开,以防它发生变化。

我还没有找到用插件来做到这一点的方法。

我自己使用了一些策略:

  • 我将插件版本提高到一个非常高的数字,例如 99.9。这样 Wordpress 将永远不会更新插件。
  • 将我的插件存储在版本控制中(我使用 git,但这没关系),这允许您更新插件,运行“差异”工具并查看发生了什么变化。如果您不喜欢,您只需恢复,就像您编写的代码很糟糕一样。但是这种方法需要一点技巧。
于 2012-06-09T11:47:32.857 回答
1

您是在谈论同时运行修改后的 3rd 方插件和更新版本的部分内容吗?

那是不可能的。没有“保留我的更改并自动将它们转移到新版本”的神奇方法。这里的方法是在编辑版本和更新之间进行差异,并将更改集成到实际源文件中。

底线是,如果您手动编辑第三方插件,那么一旦更新发生,您就需要进行手动审查(并且可能会返工)。这就是为什么广泛修改第三方插件通常不是一个好主意的原因。

于 2012-06-09T12:30:07.797 回答