Pods: 実際の問題:予約済みの名前を追加することはできません

作成日 2019年07月13日  ·  20コメント  ·  ソース: pods-framework/pods

バグを説明する
初めてポッドを使用します。 これに遭遇した(マスターを使用して再現):新しく追加されたフィールドの保存時にエラーが発生した場合、 classes/PodsAPI::save_pod cache_flush_pods呼び出す前にベイルアウトします。 他のフィールドはまだデータベースに保存されているように見えますが、キャッシュがフラッシュされるまでエンドユーザーには表示されません。

現在の改訂行番号2356

if ( ! empty( $errors ) ) {
    return pods_error( $errors, $this );
}

$this->cache_flush_pods( $pod );

(PS私が知る限り、フィールドの保存に失敗したためのエラー処理は行われていないようです。)

再現するには
動作を再現する手順:

  1. ポッドを編集する
  2. 'foobar'という名前のフィールドを追加します
  3. 「name」(または「post_title」、または既存のフィールドの名前)という名前のフィールドを追加します
  4. ポッドを保存

観察:保存後に新しく追加されたフィールドは表示されません

Reproduced Bug Documentation

全てのコメント20件

問題-LabelBotは、0.98の信頼度で、この問題にラベルType: Bugを自動的に適用します。 このコメントに:thumbsup:または:thumbsdown:のマークを付けて、ボットのフィードバックを提供してください。

リンク:アプリのホームページダッシュボード、このボットのコード

+1同じ問題があります。 保存された名前を設定してもエラーは発生しません。

#4122を参照してください。これは、フィールド名、分類法、ポストタイプなどに適用する必要があります。予約名フィールドリストにあるフィールド名、ポストタイプ、または分類法を誰かが入力できないようにする必要があります。

「status」というラベルの付いたフィールドで同じ問題が発生したバグレポート#5440を提出しました。 ただし、「ステータス」は「Wordpress」の予約済み用語リストにはありません。 上記の場合から、「name」はそのリストに含まれていますが、「foobar」は含まれていません。 同じことがPHPの予約語リストにも当てはまります。

WordPressリスト: (https://codex.wordpress.org/Reserved_Terms)
PHPリストhttps://www.php.net/manual/en/reserved.php

おそらく、予約語の他のリストも干渉していますか?

@raoulunger予約キーワードに関する最新のPRを試しましたか?

編集: statusはWordPressの予約キーワードではありませんが、ポッドオブジェクトフィールドの1つとして使用されるため、ポッド用です。 (現時点ではまだ調査中です)

こんにちは、私はあなたが質問をかき集めたのを見ます;-)。 調査していただきありがとうございます。

はい、調査の結果、 statusはポッド内のpost_statusエイリアスであることが判明しました(マジックタグなどで使用するため)。
デフォルトのキーとエイリアスの完全なリスト:

ID                     ==> id
post_title             ==> title & name
post_content           ==> content
post_excerpt           ==> excerpt
post_author            ==> author
post_date              ==> created & date
post_date_gmt
post_status            ==> status
comment_status
ping_status
post_password
post_name              ==> slug &  permalink
to_ping
pinged
post_modified          ==> modified
post_modified_gmt
post_content_filtered
post_parent            ==> parent
guid
menu_order
post_type              ==> type
post_mime_type
comment_count
comments

@ sc0ttkclark @jimtrueこの問題は解決できると思いますが、同意しますか?

わかりました、それは「ステータス」に関する限り問題を明確にします—これを理解してくれて、そしてリストをありがとう!

予約語の使用に関するより広範な問題(このトピック、および#4122)を解決するには、いくつかのオプションがあるようです。

  • IDのエイリアスを実際に使用できるように、または(それが実行できない場合)、コードが変更されました。
  • 「禁止」という言葉が使用されると警告が表示され、
  • ドキュメントのどこかで、この現象と上記のノーゴーワードのリストが参照されています。

ちなみに、私はここで本当に助けることができないので、もちろんこれをすべて提案するのは簡単です-私のコーディングスキルは非常に限られています、ごめんなさい!

乾杯!

IDは単に予約されたキーワードであり、変更することはできないと思います。
警告については、現在表示されていますが、これはAJAX(サーバー側)を介して行われ、入力時に直接行われません。 これは将来追加するものだと思いますが、メンテナンスリリースとしてではありません。
ドキュメントは常に良い考えです。 @jimtrue私が使用できるこのためのドキュメントページを作成できますか?

文書化されるまで閉じることはできません。 フィールドとして作成するために機能しない他の「エイリアス」はありますか? すなわち、「タイトル」「親」など?

これは私がこれまでに見つけることができたすべてです(すでに述べたWPコアキーワードを除いて)

これらのフィールドの追加を許可しない理由を説明する必要があるため、これにはパッチを適用する必要があります。 現在、私たちは彼らに情報を提供していません。

これは完全に正しいわけではありません。AJAXはエラーメッセージを返しますが、保存した場合にのみ返されます。

問題を複製したときに、目に見えるエラーは表示されませんでした。 ユーザーに表示されるエラーがない場合、それは問題です。

最新のPRでテストしましたか? #5441
これらの予約済みキーワードはフィールド名に使用できることに注意してください。 ポッド(CPT /税)ではありません。#5428を参照してください。

また、エラーメッセージも表示されませんでした(そのため、混乱が生じました)。 ただし、最新のPRでテストしたことはありません。これは、その方法がまったくわからないためです(申し訳ありませんが、ここではまったく新しい人です)。

2019年8月19日には、17時50で、ジョリーHogeveen [email protected]書きました:

最新のPRでテストしましたか? #5443 https://github.com/pods-framework/pods/pull/5443
これらの予約済みキーワードはフィールド名に使用できることに注意してください。 ポッド(CPT / Tax)については、#5428https ://github.com/pods-framework/pods/pull/5428を参照して


あなたが言及されたのであなたはこれを受け取っています。
、直接このメールに返信GitHubの上でそれを見るhttps://github.com/pods-framework/pods/issues/5420?email_source=notifications&email_token=AM2NSKDD43ZU2JY47LPKRV3QFK6LTA5CNFSM4ICZDB72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4TNDNQ#issuecomment-522637750 、またはスレッドミュートhttps://github.com/をnotifys / unsubscribe-auth / AM2NSKESXEIVUY3PLHRRMW3QFK6LTANCNFSM4ICZDB7Q

@ sc0ttkclark @jimtrueこれを閉じることはできますか?

pods_errorを送信する前にキャッシュフラッシュを移動すると、このチケットの主な焦点を解決できます。

#5459で修正

申し訳ありませんが、反応が遅くなりましたが、ありがとうございます!

2019年9月5日には、14時27分で、スコットキングスレークラーク[email protected]書きました:

クローズ#5420 https://github.com/pods-framework/pods/issues/5420 via#5459https ://github.com/pods-framework/pods/pull/5459


あなたが言及されたのであなたはこれを受け取っています。
、直接このメールに返信GitHubの上でそれを見るhttps://github.com/pods-framework/pods/issues/5420?email_source=notifications&email_token=AM2NSKBMJPPMDU5DSLKEPWTQID3JNA5CNFSM4ICZDB72YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOTOL3AQY#event-2610409539 、またはスレッドミュートhttps://github.com/を通知/購読解除-auth / AM2NSKDMLL2WOT3F7ITJ47TQID3JNANCNFSM4ICZDB7Q

このページは役に立ちましたか?
0 / 5 - 0 評価