0

これは、wordpress プラグインの構造です。

.twitter-plugin
|-images/
|-index.php
+-README

ディレクトリtwitter-pluginは既知の場所 ( wp-content/plugins) に配置する必要があります。これにより、Wordpress がスキャンできるようになり、見つかった場合READMEは有効なプラグインです。残念ながら、Gitorious からディレクトリを作成してリポジトリのクローンを作成すると、次のようになりますcdplugins

.twitter-plugin
+-twitter-plugin
 |-images/
 |-index.php
 +-README

プラグインの開発者は、ファイルを最上位ディレクトリに直接配置せず、プロジェクトにちなんで名付けられたサブディレクトリに保持します。この方法では、Wordpress はプラグインを見つけることができません (プラグインを探しますがtwitter/README、代わりに がありますtwitter/twitter/README)。上記の 1 つのディレクトリを ( のwp-content代わりにwp-content/plugins) 複製することでこれを克服できますが、ハックのように感じられ、他のすべてのプラグイン ディレクトリを無視しなければならないという明らかな欠点があり、さらに Git はplugins/ディレクトリが既に存在すると文句を言います (したがって、物事を一時的に動かして機能させること)。

この状況を回復する方法はありますか?git に関する基本的なことが欠けていますか?

現時点で私にできることは、新しいリポジトリを初期化し、ファイルを入れ、何らかの方法で履歴をインポートすることだけです。しかし、この方法では元のリポジトリにプッシュできません。- すべてのファイル パスが異なるため

私の目的は、プラグインを使用するだけでなく、プラグインを開発することです。もちろん、プラグインを開発するには、 Wordpress のインストールで使用する必要があるため、既知のディレクトリにある必要があります。そうしないと、開発用の Wordpress のインストールでプラグインが見つからず、変更をテストできません。

4

1 に答える 1

2

WordPressプロジェクトの外部の場所にクローンを作成し、それが属する正しいディレクトリをシンボリックリンクまたはコピーします。例:

$ git checkout git@wherever.org:twitter-plugin
$ cd my-wordpress-site
$ ln -s ../twitter-plugin/twitter-plugin ./twitter-plugin

すべてのPHP関数がそれに続くわけではないため、シンボリックリンクは機能する場合と機能しない場合があります。そうでない場合は、代わりにコピーしてみてください。ただし、これは、gitリポジトリを更新するときに再度コピーする必要があることを意味します。この手順を展開スクリプトに含めることをお勧めします。

于 2012-08-26T10:12:11.760 に答える