🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

2回答

1897閲覧

Wordpressプラグインの「WP Post Branches」について

wp-take

総合スコア2

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2020/12/03 02:12

前提・実現したいこと

Wordpressプラグインの「WP Post Branches」についての動作で質問です。
ブランチを作成後、一旦下書きにするのが本来の使い方であり、正しく動作するのですが、
お客様からブランチを作成後に公開ボタンを押すと編集内容が消えると指摘がありました。
確認したところ、「Advanced Custom Fields」で作成しているカスタムフィールドの部分はブランチ作成後の編集内容が消えてしまうことが分かりました。

、「Advanced Custom Fields」で作成しているカスタムフィールドの内容も引き継いで公開させることは可能でしょうか?

該当のソースコード

修正する部分としてはwp-post-branches.phpの180行目あたりだと思って色々試してますがうまくいきません。

//postmeta $keys = get_post_custom_keys( $id ); $custom_field = array(); foreach ( (array) $keys as $key ) { if ( preg_match( '/^_feedback_/', $key ) ) continue; if ( preg_match( '/_wpbs_pre_post_id/', $key ) ) continue; if ( preg_match( '/_wp_old_slug/', $key ) ) continue; $key = apply_filters( 'wpbs_draft_to_publish_postmeta_filter', $key ); delete_post_meta( $org_id, $key ); $values = get_post_custom_values($key, $id ); foreach ( $values as $value ) { add_post_meta( $org_id, $key, $value ); } }

試したこと

色々と調べましたが、解決にたどり着けませんでした。
パズルのピースをうまく組み合わせる力がないからだとも思います。。
http://weble.org/2011/09/01/wordpress-publish-post
https://qiita.com/t_enderman/items/c8ddc3fde6ac30b1fb74
https://yukiyuriweb.com/introduction-to-wordpress-customize-wordpress-with-action-and-filter-hooks/

補足情報(FW/ツールのバージョンなど)

WPバージョン:5.3.6

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

投稿2020/12/03 08:09

hiok

総合スコア595

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wp-take

2020/12/04 06:24

ありがとうございます。 試してみましたが、うまくいきませんでした。 他にありましたらお願いいたします。 こちらでも試行錯誤を続けています。
guest

0

自己解決

自己解決いたしました。
function wpbs_save_post( $id, $post ) {の次の行にdo_actionで値の保存を先に行うことで解決できました。

wp

1function wpbs_save_post( $id, $post ) { 2 do_action( 'acf/save_post', $id );

投稿2020/12/08 06:26

wp-take

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問