web-dev-qa-db-ja.com

公開されたページまたは投稿の改訂を起草する方法はありますか?どのような回避策を使用しましたか?

私はすでにページや投稿を公開したとしましょう。私は今、変更を加えたいのですが、同僚に本番になる前にチェックしてもらいたいのです。これを行う方法はありますか?

編集:これは現在のところ不可能であり、私が興味を持っている創造的な回避策です。

私が現在取り組んでいるサイトには、主要なコンテンツの変更や追加を作成するための、パスワードで保護された別の「ステージング」サイトもあります。誰かが似たような方法を使ったのではないかと思いますが、おそらくライブサイトへの「プッシュ」を自動化したのでしょうか。

私はこの質問に気づいています: 開発/ステージングと本番の間のデータベース同期 しかし、それは個々のページや投稿ではなくデータベース全体の大規模な同期についての詳細です。

回避策のためのいくつかの追加のアイデアを試して追い出すために今や賞金を提供しています。

37
e100

[発行]ボックス変更されたコピーとして保存にボタンを追加することが可能です。次にcontent_save_preにフックして、コンテンツとすべてのメタデータをドラフトステータスの新しい投稿にコピーする必要があります。レビューの後、投稿はマージされなければなりません。

まだ行っていませんが、本当に必要です。

22
fuxia

http://wordpress.org/extend/plugins/revisionary/

このプラグインはあなたが望むことをするでしょう。これにより、ContributorとEditorの間に一種の役割Revisorが作成されます。 UIは改善され、内部コードはWordPressの欠けている多くの機能を回避しなければなりませんでした、しかしええ、これはあなたの問題を解決します:それはドラフトを保存することを可能にします.

2018更新 改訂は3年ほど前に開発を中止したようです。ただし、Revisionizehttps://wordpress.org/plugins/revisionize )についてのTessaの回答を参照してください。 Revisionizeは最善の解決策のように見えます。

2019更新 Revisionaryは現在PublishPressによって所有され、積極的に開発されています。元の作者もそれをサポートするために彼らと協力しています。

11
WraithKenny

こんにちは@ e1;

カスタムプラグインソリューションに興味があれば、いくつかのアプローチを思い描くことができます。

  1. @ toscho「変更されたコピーとして保存」と記述されているものに似ていますが、微妙な違いがあります。プラグインは公開された投稿の編集をロックできますが、 "Updated Draft"のような新しいステータスの派生投稿を作成できます。カスタムフィールドを介して元の投稿に結び付けられます。これらの派生した投稿は編集、レビューなどができますが、公開するオプションの代わりに、元の投稿を更新で置き換えるオプションがあります。

  2. 別のプロセスで組み込みのリビジョンシステムを使用するができますが、最新ではないバージョンをブラウザに提供する方法を見つけるために調査を行う必要があります。コンテンツをカスタムフィールドとして保存し、引き続き作業できるようにすることができます。

  3. 3番目のプロセスは、2番目のWordPressサイトを編集サンドボックスとして設定するで、Webサービスを使用して投稿を取得し、リモートで編集してから、それらを公開する準備ができたら、メインサイトにプッシュバックできます。

  4. #3と同様に、WordPress Multisiteを使用して編集サンドボックスを設定各作成者が独自の編集サンドボックスとして使用する非公開ブログをインストールおよび作成します。

繰り返しますが、これらのオプションはすべて、カスタムプラグイン開発を必要とします。

もしあなたが既存のプラグインを探しているまだ特定の経験はないが、これらを見てみたいので、これらのどれが正確に何をするかわからない:

  • Assignment Desk は、コンテンツ管理システムとしてWordPressを使用する報道機関向けの編集ツールです。プラグインの目標は、ニュース制作プロセスへのコミュニティの関与をより簡単かつ効率的にすることです。

  • 編集フロー は、WordPress内で編集ワークフローを再定義するための一連の機能を提供します。

  • Peter's Post Notes -WordPress 2.8以降の[投稿の編集]および[ページの編集]画面のサイドバーにメモを追加します。 Peter's Collaboration E-mails 1.2以降で使用すると、ノートはコラボレーションワークフローの電子メールとともに送信されます。また、ダッシュボードには一般的なプライベートノートシステムがあります。

6
MikeSchinkel

これは非常に古い質問です、そしてここで言及されたプラグインのいくつかを見ている間、私は多くが保守されていないか、まったく探していたものではないことに気づきました。

最後に、私は Revisionize という名前の好きなものを見つけました。それは評判であり、使用法はかなり新しいのでまだ上がっていませんが、私はそれが好きです。

長所:

  1. WordPressのUIの見栄えがよく、ボタンは見つけやすく、ボタンを押すことでプラグインを使用しているときには警告や注意があります。
  2. 5つ星の評価を得ています
  3. 最新のアップデートは3ヶ月前で、最新バージョンのWordPressとの互換性があるとマークされています
  4. Advanced Custom Fields pluginとの互換性

短所:

  1. 300以上 3,000+の有効なインストール
  2. 4のみ 19レビュー

2019年3月13日に短所リストを更新しました。他のユーザーの信頼のためにどこに線を引くかによって、それらはまだ短所であるかもしれません。)

4
Tessa

残念ながら、現時点ではありません。ページ/投稿がすでに公開されている場合は、編集内容を保持するために new page/postを作成し、 非公開 公開して同僚が変更を確認できるようにすることが唯一の方法です。その後、ライブページ/投稿のコンテンツを改訂版に置き換えます。

Just FYI: /すでに公開されているコンテンツにドラフトステータスの変更を加えることは、多くのWordPressユーザーに採用されていないワークフローです。私は先月、それをやりたいという少なくとも3つの異なる方法についても聞いたことがあります。これがWordPressの機能である可能性はわずかです。

3
EAMann

おそらく簡単な解決策:プラグイン http://wordpress.org/extend/plugins/duplicate-post/ 投稿をコピーする

3
bueltge

こんにちは@ e100 :)

私はあなたが既存のフリープラグインを使うことが賢い解決策になると思います。それはあなたが書いたことすべてをします。 WordPress.orgからダウンロードするだけです: https://wordpress.org/plugins/revision-manager-tmc/
このプラグインは非常に頻繁にそして定期的に更新されます

Revision Manager TMCは、2番目の無料プラグインと連携してユーザーロール機能を編集します - User Role Editor https://wordpress.org/plugins/user-role-editor/

2
Yaworek

Live Draftと呼ばれるプラグインがあり、これは非常にうまくいくようです。

http://wordpress.org/extend/plugins/live-drafts/ /

1
Jason

これはおそらくあなたの特定の問題を解決しないでしょうが、私はあなたがwordpress.orgの "Edit Flow"プラグインを見ることを勧めます。それは非常に滑らかなプラグインであり、あなたにとって非常に役に立つでしょう。

1

プラグインを使ったこれに対する非常にきちんとした解決策があります 下書きの改訂版

ユーザーは、投稿の子コピーとして作成された、公開された投稿(またはカスタム投稿タイプ)のドラフトリビジョンを作成することを許可できます。

下書きは、リビジョン比較機能を介して公開された親と比較できます。

ドラフトリビジョンの公開時に、ドラフトが破棄されると、変更はすべて親に統合されます。複数のドラフトを維持することもできます。

誰にもこれをお勧めします - それはWordPressサイトの標準的なプラグインになりつつあります。しかし、近い将来にこの種の機能がWordPressコアで開発されるのを見るかもしれません。

0
Xave

この答えを見つけました ここ 私のために働いた。カスタムユーザーロールを使用しているので、少し修正しました。

function published_to_pending( $post_id ) {
    global $post;
    if ( ! is_object( $post ) ) {
        return;
    }

    if ( ! current_user_can( 'publish_posts' ) && $post->post_status == 'publish' ) {
        // stop recursion call
        remove_action( 'save_post', 'published_to_pending' );

        // update the post, which calls save_post again
        wp_update_post( array( 'ID' => $post_id, 'post_status' => 'pending' ) );

        // re-hook this function back
        add_action( 'save_post', 'published_to_pending' );
    }
} 

add_action( 'save_post', 'published_to_pending' );
0
tehlivi

私はおそらく他の答えで言及されたプラグインの1つを使用することになるでしょう、しかし私がこの機能を必要とし、プラグインを探す時間がないとき、リビジョンが働いていることを確認し、変更を保存してすぐに元に戻します。

今私の "ドラフト"は私のリビジョンシステムにあります。

プロダクションシステムには向いていませんが、使用するプラグインを決定するまでは、devシステムには十分です。

0
TecBrat