Woo-poly-integration: 可倉補品の問題

䜜成日 2020幎11月04日  Â·  33コメント  Â·  ゜ヌス: hyyan/woo-poly-integration

こんにちは、

woocommerceの最埌の曎新埌、可倉補品の線集に問題がありたす。

補品デヌタは「シンプル補品」を瀺しおいたすが、補品は可倉です。

この問題をデフォルトのWordpressテヌマストアフロントなどで再珟できたすか

WooCommerce、Polylang、Hyyan WooCommerce Polylang Integrationを陀く他のすべおのプラグむンが無効になっおいる堎合、この問題を再珟できたすか

この問題が発生したずきに䜿甚しおいる補品のバヌゞョンず蚭定は䜕ですか

  • PHP
  • WordPress
  • WooCommerce
  • Polylang[PolylangPROを䜿甚しおいる堎合の状態]
  • Hyyan WooCommerce Polylang統合
  • ブラりザ

再珟する手順



    1. 1.1。
  1. 1.1。

私が期埅したこず

代わりに䜕が起こったのか

WordPress環境

Copy and paste the system status report from **WooCommerce > System Status** in WordPress admin here.

最も参考になるコメント

今のずころ518を元に戻したした。 そしお、埌で詳しく芋おいきたす

党おのコメント33件

同じ問題がありたす。䞻芁蚀語からコピヌするず、バリ゚ヌションをコピヌする可胜性がなく、単玔な補品のみが衚瀺されたす。 どうすればこれを解決できたすか

こんにちは、

プラグむン「jQueryMigrateHelper」をむンストヌルしようずしたしたか

リポゞトリのコヌドを䜿甚しお、ダりンロヌドコヌドから盎接zipをダりンロヌドしおむンストヌルしおください。解決される可胜性があるず思いたす。来週はこれをたくさんテストしたすが、フィヌドバックは倧歓迎です。

リポゞトリのコヌドを䜿甚しお、ダりンロヌドコヌドから盎接zipをダりンロヌドしおむンストヌルしおください。解決される可胜性があるず思いたす。来週はこれをたくさんテストしたすが、フィヌドバックは倧歓迎です。

zipをダりンロヌドしおGitHubからむンストヌルした埌、2぀の問題がありたす。
1補品を第䞀蚀語から第二蚀語にコピヌするず、倚くのバリ゚ヌションが䜜成されたすたずえば、2色の補品がある堎合、第2蚀語は色から10のバリ゚ヌションを䜜成したす
2お客様のご泚文埌、圚庫が残っおいおも圚庫切れずなりたす。

1. If I copy a product from the primary language into the secondary it creates many variations, (example if I have a product with 2 colors, the second language creates 10 variations from the color)

プラグむンのGitHubバヌゞョンでも同じ問題が発生しおいたす

最新のPR518は、可倉補品に関連する䜕かを台無しにしたようです。

トピックを読みたしたが、問題はメタ属性のスペルミスです。 曎新ク゚リで解決し、src / Hyyan / WPI / Plugin.phpの名前を修正できたすか
@mrleemonあなたがこのプロゞェクトの共同䜜業者であるこずが

申し蚳ありたせんが、私はずっず前にタむプミスのいく぀かの修正をコミットしただけです。 このプラグむンの内郚動䜜に関する私の知識はほがれロです。
このバリ゚ヌションのバグを修正するために䜕をしなければならないのかわかりたせん。

今のずころ、このプラグむンがどのように機胜するかを知っおいるのは@ Jon007だけだず思いたす

518には、既存のサむトを壊す可胜性があるため、450ですでに拒吊したこのタむプミスの修正が含たれおいるこずを確認したしたが、

今のずころ518を元に戻したした。 そしお、埌で詳しく芋おいきたす

ありがずう

たぶん、プラグむンは、珟圚のカスタム方法ではなく、公匏のPolylang pll_copy_taxonomiesフィルタヌを䜿甚しおWooCommerce分類法product_type、product_visibilityなどを同期する必芁がありたす。これは、WooCommerceの䞀定のリリヌスに察しお脆匱であるようです。 プラグむンはすでにPolylang pll_copy_post_metasフィルタヌを䜿甚しお補品メタをコピヌしおいるため、 pll_copy_taxonomiesを䜿甚しお補品分類を同期するのが劥圓ず思われたす。

このフィルタヌを䜿甚するず、同期たたはコピヌする分類法を指定でき、新しい翻蚳を䜜成するずきに、Polylangがその分類法ずそれに関連する甚語の同期/コピヌを凊理したす。

ただのアむデア。

私はそれを芋たしたが、woocommerceが独自のAPIず独自のテヌブルに移行するに぀れお、補品を投皿ずしお扱い、䞀般的な投皿ベヌスのAPIを䜿甚するこずに頌るこずができないため、これらはすべお危険なほど時代遅れになっおいたす。 せいぜい、woocommerceキャッシングメカニズムにはバグがあるでしょう。

はい、知っおいたす。 WC apiの倉曎を埅぀間、䞀時的な解決策ずしお考えおいたした。
䞀方、補品が可倉で、 Meta.phpのJSコヌドを次のように倉曎するず、「SimpleProduct」の誀った遞択を解決できるず思いたす。

から

$code = sprintf(
    '// <![CDATA[ %1$s'
    . ' addLoadEvent(function () { %1$s'
    . '  jQuery("#product-type option")'
    . '     .removeAttr("selected");%1$s'
    . '  jQuery("#product-type option[value=\"%2$s\"]")'
    . '    .attr("selected", "selected");%1$s'
    . '})'
    . '// ]]>', PHP_EOL, $type[0]
);

に

$code = sprintf(
    '// <![CDATA[ %1$s'
    . ' addLoadEvent(function () { %1$s'
    . '  jQuery("#product-type option")'
    . '     .prop("selected", false);%1$s'
    . '  jQuery("#product-type option[value=\"%2$s\"]")'
    . '     .prop("selected", true);%1$s'
    . '})'
    . '// ]]>', PHP_EOL, $type[0]
);

どうやら、オプションの遞択/遞択解陀にattr()ずremoveAttr()を䜿甚するこずは、WPでのjQueryの最近の倉曎により非掚奚になりたした。

https://jquery.com/upgrade-guide/3.0/から

Breaking change: .removeAttr() no longer sets properties to false

Prior to jQuery 3.0, using .removeAttr() on a boolean attribute such as checked, selected, or readonly would also set the corresponding named property to false. This behavior was required for ancient versions of Internet Explorer but is not correct for modern browsers because the attribute represents the initial value and the property represents the current (dynamic) value.

It is almost always a mistake to use .removeAttr( "checked" ) on a DOM element. The only time it might be useful is if the DOM is later going to be serialized back to an HTML string. In all other cases, .prop( "checked", false ) should be used instead.

たた、珟圚、ナヌザヌがWC重耇補品リンクをクリックしおも、補品タむプはレプリカにコピヌされたせん。

私は、これを远加するこずで、それを"固定" unlinkOrginalProductTranslations()関数Duplicator.php 

$type = $product->get_type();
update_post_meta($duplicate->get_id(), '_translation_porduct_type', $type);

これに䜕か問題があるかどうかはわかりたせん。

'_translation_porduct_type'を完党に削陀したいのですが、実際には必芁ないはずです。ナヌザヌむンタヌフェむスの癖に察凊するためだけにありたすが、今のずころ最も簡単なのは、それを維持しお、提案どおりに実行するこずです。

これに぀いおお䌺いしたす。 翻蚳された補品タむプが_translation_porduct_type保存されるのはなぜですか 必芁なずきに元の補品から盎接取埗するこずはできたせんか

polylangを翻蚳するずき、叀い補品を芁求するずきに翻蚳された補品の詳现を提䟛しようずするので、少なくずも、メタデヌタにコピヌする方が簡単なので、耇雑だず思いたす。

_translation_porduct_typeメタを取り陀くために、プラグむンはwp_insert_postを䜿甚するカスタム゜リュヌションに䟝存するのではなく、WC API WC_Product:save()関数を䜿甚しお翻蚳を保存する必芁があるず思いたすアクションを盎接実行したすが、これはMeta.phpにあるコヌドの倚くをリファクタリングするこずを意味し、どこから始めればよいかわかりたせん。

こんにちは。 この問題を解決したしたか

こんにちは、私は430の説明を含む、可倉補品の問題に察するいく぀かの解決策をコミットしたした-誰かが最新のコヌドをテストし、残っおいる問題を確認できれば玠晎らしいでしょう-理想的には、新しいクリヌンなgithubの問題で、郚分的にたたはチケットを完党に耇補し、フォロヌするのが難しくなっおいたす。

あなたの仕事をありがずう 機䌚があれば最新のコヌドをテストし、問題が発生した堎合はお知らせしたす。

最新のコヌドをテストした埌、問題が発生したした。
https://github.com/hyyan/woo-poly-integration/issues/526

@hyyan @mrleemon先週、いく぀かの重芁な倉曎をチェックむンし、5.1ずいうラベルを付けたした

特に、以䞋ぞのmeta.php呌び出しをコメントアりトするこずにより、408の@mrleemonによる回避策の修正を
$ this-> syncSelectedproductType$ ID;

以前は、少なくずも5.0では保存シヌケンスが正しくなかったため、この問題が発生しおいたした。

  1. WordPressが投皿を保存
  2. woopolyは投皿を同期したすただし、WooCommerceはただ保存されおいないため、補品タむプは保存されず、正しく同期されたせん
  3. WooCommerceは補品を保存したす
  4. [可倉補品の堎合、WooCommerceはバリ゚ヌションを保存し、woopolyはこれらを同期したす]
  5. 補品の翻蚳を衚瀺するずきの回避策の修正により、フォヌムがリセットされ、_translation_porduct_typeに補品タむプが衚瀺されるようになり、翻蚳を保存するず正しくなりたす。

コヌドリビゞョンは、WooCommerceの保存盎埌にフックを取埗するようになり、クむック線集549ず䞀括線集でも機胜するように調敎されたため、補品タむプの回避策は䞍芁になりたした。

もちろん、これで終わりではありたせん。wooapiのみを䜿甚し、wp apiを回避するように党䜓を再怜蚎する必芁がありたすが、奇劙な動䜜の䞀郚を削陀する必芁がありたす。

玠晎らしい その回避策の修正は本圓にひどいものでした。
では、スペルミスのある_translation_porduct_typeメタも䞍芁になりたしたか
時間があれば、この曎新されたバヌゞョンをテストしたす。

ありがずう

スペルミスの_translation_porduct_typeメタ割り圓おは今のずころそこに残しおいたすが、䜿甚されおいたせん。 このバヌゞョンに問題がなければ、埌続のリリヌスでこのコヌドやその他の冗長なコヌドが削陀される可胜性がありたす

この新しいバヌゞョンをテストしたずころ、問題が芋぀かりたした。

  1. 私は3぀の蚀語スペむン語、英語、フランス語のサむトを持っおいたす。 スペむン語がデフォルトです。 woopolyの「Product-type」同期オプションがチェックされおいたす。
  2. スペむン語で新補品を远加したす
  3. 「グルヌプ化された補品」たたは「単玔な補品」以倖の補品タむプを遞択しお保存したす。
  4. [補品タむプ]ドロップダりンには、遞択した補品タむプが衚瀺されたす。
  5. 「蚀語」メタボックスの「+」リンクをクリックしお、翻蚳を远加したす。
  6. 新しい翻蚳の補品タむプドロップダりンは無効になっおいたすが[補品タむプ]同期オプションがオンになっおいたす、デフォルトの蚀語補品で遞択された補品タむプの代わりに[単玔な補品]が衚瀺されたす。

はい、芋おいきたす。
既存の補品の補品タむプおよびその他のプロパティを倉曎しおも問題ありたせん。

@mrleemonがチェックむンしたした

わかりたした、ありがずう
埌でテストしお、できるだけ早く戻っおきたす。

この新しいバヌゞョンをテストしたずころ、新しい翻蚳に関する問題が修正されたした。
ありがずう

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡