web-dev-qa-db-ja.com

新しいプラグイン:ポストアップデートでコピーをリビジョンとしてプッシュする

私はそれらが公開された後に投稿の編集をすることでたくさん働いてきました。投稿を更新するだけで更新することはできますが、ユーザーがサイトで閲覧できるようにするための改訂の旅をしたいです。

だから私はプラグインを考えていました。私は http://wordpress.org/extend/plugins/duplicate-post/ を見ました。これは新しいパーマリンクに別のコピーを作成します。これは私が考える良い出発点ですが、機能が逆にできるのではないかと思います。

機能:投稿が更新されると(更新のたびに)、新しい更新されたコンテンツを元の投稿のパーマリンクにプッシュし、古い投稿を更新カウントのサフィックスの付いた新しいパーマリンクに移動します。

例:私の投稿はhello-worldです。私はそれを公開し、パーマリンクは http://mysite.com/hello-world になります。編集する必要があるので、投稿に移動してページを編集します。 [更新]をクリックすると、元のhello-world投稿がhello-world-draft-1の下にコピーされて公開され、新しく更新された投稿が元のhello-world投稿の代わりになります。

こうすることで、投稿にリンクしている人なら誰でも常に最新版を見ることができますが、すべてのドラフトは/hello-world-draft-Xにアクセスすることですべてのユーザーに表示されます。ナメクジ。

私はこれがユーザーにリビジョンを見せることができるようなものだと思っていますか?コメントや提案を歓迎します。

ありがとう。

更新:このプラグインは見栄えがしますが、アップロードされた.docファイルでのみ動作し、投稿では動作しません。 http://wordpress.org/extend/plugins/wp-document-revisions/

2
davebowker

あなたの質問は、あなたが「提案」を探していることを示しているので、この答えは「作業コード」カテゴリではなく、そのカテゴリにあります。

私はこれが良いアイデアであるかどうかわからないということから始めるつもりです。データベースのサイズを何倍にも増やします。さて、それは私の胸から外れています。あなたがここに進むつもりなら私の考えです。

「改訂」のための新しい投稿を書かないでください。 RSSフィード、投稿、インデックス、バックエンドパネルなどにそれらのすべてが表示されることになります。それは混乱であり、それらを非表示にするには多くの作業を行う必要があります。

WordPressはすでに改訂されており、上記の問題はすべてコアですでに解決されています。あなたの利点にそれらを使用してください。

すべてのリビジョンを保持するにはWordPressに伝えてください。

define( 'WP_POST_REVISIONS', -1);

これがデフォルトになるはずですが、テーマまたはプラグインがあなたのために考えることにした場合に備えて、念のために設定しました。既存のリビジョンを使用すると、データベースサイズが大きくなるという問題も軽減されます。リビジョンをオフにしていない限り、データベースにはすでにこのようなものがあります。

次に、リビジョンの表示方法を検討する必要があります。

wp_get_post_revisions($post_id)$post_idがリビジョンの親投稿に設定されていると仮定)は、リビジョンを取得する必要があり、それを使用してリストまたは完全な投稿表示を作成できます。

「シングル」投稿表示の場合、WordPressはリビジョンのsingle.phpを保存するので、?rev=<post_id>?rev=<revision_number>パラメーター、またはpost_nameを渡すことができます。 <parent_post_id>-revision-<revision_number> with -<revision_number>は、最初のリビジョンには存在しません。

それらは要求された私の「コメントと提案」です。

1
s_ha_dum