eコマースWebサイトを作成するために、WooCommerceの使用がWordPressとともに使用されています。あなたが私のようなWeb開(kāi)発者である場(chǎng)合、內(nèi)部とWooCommerceテンプレートシステムを知っている場(chǎng)合、アクションとフィルターは非常に素晴らしいスキルです。 WooCommerceについて知っていることをすべて知っているなら、少なくともあなたとWooCommerceのドキュメントだけで何かを?qū)g裝できるほど上司がどれほど幸せになるかを考えてください。
これがすべてあなたに良いように聞こえる場(chǎng)合は、読み続けてください。WordPressとWooCommerceで何ができるかを並べて調(diào)べます。この記事のスタイル(そしてできれば今後さらに多くのことを含む)には、問(wèn)題を提示してから、WordPressとWooCommerceのアクションとフィルターを使用してソリューションを作成することが含まれます。 アカウントの作成と更新のための有用なアクションeコマースのウェブサイトと一緒にCRMを使用することは非常に一般的です。 WooCommerceは、チェックアウトプロセス中または「私のアカウント」ページを介して新しい顧客またはユーザーがいつ登録するかを検出することを簡(jiǎn)単にします。
次の例では、誰(shuí)かがWooCommerceを介して登録したときにSalesforceでアカウントを作成する方法のアイデアを提供する必要があります。 Salesforce APIコードは表示されないことに注意してください。プロセスを概説しているだけです。
前の例から続行して、顧客が請(qǐng)求書(shū)または配送先住所のいずれかを編集したときに、Salesforceに関する顧客の情報(bào)を更新したいのは當(dāng)然です。 WOOCOMMERCE_CUSTOMER_SAVE_ADDRESSどちらのアドレスが編集され、ユーザーIDが與えられ、どのアドレスが編集されたかがすぐに実行されます。 $ _POSTを介してフォームフィールドを入手できることに注意してください。
オーバーライドフロントエンドタイトル、メッセージ、および説明
<span><span><?php </span></span><span><span>// Create Customer's Salesforce Account </span></span><span><span>add_action( 'woocommerce_created_customer', 'create_salesforce_account', 10, 3 ); </span></span><span><span>function create_salesforce_account( $customer_id, $new_customer_data, $password_generated ) { </span></span><span> </span><span> <span>// Get the New Customer's data </span></span><span> <span>$username = $new_customer_data['user_login']; </span></span><span> <span>$password = $new_customer_data['user_pass']; </span></span><span> <span>$email = $new_customer_data['user_email']; </span></span><span> <span>$role = $new_customer_data['role']; </span></span><span> </span><span> <span>// Getting the rest of the info for this customer </span></span><span> <span>$user = get_user_by( 'id', $customer_id ); </span></span><span> </span><span> <span>// Continue and send the information to Salesforce now </span></span><span><span>}</span></span>
セクションのタイトル、メッセージ、および説明は、使用するフィルターを知っていれば、簡(jiǎn)単に変更できます。これらのフィルターを使用すると、顧客に表示されるものを最後の詳細(xì)までカスタマイズできます。アクションではなくフィルターを言っていることに気づきましたか? Woocommerceは、WordPressがそうであるように、これらの種類(lèi)の値をオーバーライドするためのアクションを使用しないためです。
<span><span><?php </span></span><span><span>// Update Salesforce account with new shipping information </span></span><span><span>add_action( 'woocommerce_customer_save_address', 'update_salesforce_account', 10, 2 ); </span></span><span><span>function update_salesforce_account( $user_id, $load_address ) { </span></span><span> </span><span> <span>// Let's use a Switch statement to know which address we are updating </span></span><span> <span>switch ( $load_address ) { </span></span><span> <span>case 'billing': </span></span><span> <span>// Send billing info to Salesforce </span></span><span> <span>break; </span></span><span> </span><span> <span>case 'shipping': </span></span><span> <span>// Send shipping info to Salesforce </span></span><span> <span>break; </span></span><span> <span>} </span></span><span><span>}</span></span>WOOCOMMERCE_CHECKOUT_COUPON_MESSAGEストアでクーポンが有効になっている場(chǎng)合にのみ表示され、チェックアウトページにいる間にクーポンコードを要求します。例:クーポンはありますか?コードを入力するにはここをクリックしてください。
WOOCOMMERCE_CHECKOUT_LOGIN_MESSAGE CARTがログインしていないことを検出したときにチェックアウトページに表示され、サインインするオプションが得られます。例:顧客を返しますか?ログインするにはここをクリックしてください
WOOCOMMERCE_LOST_PASSWORD_MESSAGE「私のアカウント」ページに表示されます。このページでは、パスワードをリセットするためにユーザー名または電子メールを入力するように指示します。例:パスワードを紛失しましたか?ユーザー名またはメールアドレスを入力してください。電子メールで新しいパスワードを作成するリンクが屆きます。


woocommerce_my_account_my_downloads_title「myアカウント」ページに表示され、ダウンロードセクションのタイトルを設(shè)定します。たとえば、利用可能なダウンロード。

woocommerce_my_account_my_orders_title「myアカウント」ページに表示され、注文セクションのタイトルを設(shè)定します。たとえば、最近の注文。

これらのかなりの數(shù)があり、使用法はもちろん名前を除いてほぼ同一です。それらを変更する方法に関するいくつかの例を以下に示します。
今のところそれだけです。私たちはウコマースのボンネットの下にあるものを探求し始めただけであり、一連の記事を進(jìn)むにつれて、WooCommerceとWordPressのフックシステムを使用して設(shè)定したものを生成するために大きく依存するより複雑なモジュールを構(gòu)築する予定です。やる心。
<span><span><?php </span></span><span><span>// Create Customer's Salesforce Account </span></span><span><span>add_action( 'woocommerce_created_customer', 'create_salesforce_account', 10, 3 ); </span></span><span><span>function create_salesforce_account( $customer_id, $new_customer_data, $password_generated ) { </span></span><span> </span><span> <span>// Get the New Customer's data </span></span><span> <span>$username = $new_customer_data['user_login']; </span></span><span> <span>$password = $new_customer_data['user_pass']; </span></span><span> <span>$email = $new_customer_data['user_email']; </span></span><span> <span>$role = $new_customer_data['role']; </span></span><span> </span><span> <span>// Getting the rest of the info for this customer </span></span><span> <span>$user = get_user_by( 'id', $customer_id ); </span></span><span> </span><span> <span>// Continue and send the information to Salesforce now </span></span><span><span>}</span></span>
次の記事では、他の関心のある項(xiàng)目の中で特定の基準(zhǔn)を満たす購(gòu)入とともに無(wú)料の製品を提供したい現(xiàn)実世界のケースシナリオに取り組みます。
WooCommerceのアクションとフィルターの習(xí)得に関するよくある質(zhì)問(wèn)
WooCommerceフックにカスタムアクションを追加するにはどうすればよいですか?
WooCommerceフックにカスタムアクションを追加するには、add_action()関數(shù)を使用する必要があります。この関數(shù)には、フックの名前と実行する関數(shù)の2つのパラメーターが必要です。例は次のとおりです:
add_action( 'woocommerce_before_cart'、 'your_custom_function');
function your_custom_function(){
// Your Code Here
}
この例「アクションを追加したいフックであり、「Your_custom_function」は実行される関數(shù)です。
WooCommerceフックからアクションを削除するにはどうすればよいですか?
woocommerceフックからアクションを削除するには、remove_action()関數(shù)を使用できます。この関數(shù)には、add_action()関數(shù)と同じパラメーターが必要です。フックの名前と削除する関數(shù)。例は次のとおりです:
remaid_action( 'woocommerce_before_cart'、 'your_custom_function');
woocommerceフックのデフォルト動(dòng)作を変更するにはどうすればよいですか?
WooCommerceフックのデフォルト動(dòng)作を変更するには、フィルターを使用できます。フィルターを使用すると、データがデータベースまたはブラウザに送信される前にデータを変更できます。例は次のとおりです:
add_filter( 'woocommerce_cart_item_price'、 'modify_cart_item_price'、10、2);
function modify_cart_item_price($ price、$ cart_item){}
この例では、「woocommerce_cart_item_price 'はフィルターフック、' modify_cart_item_price 'はカスタム関數(shù)、「10」はあなたの関數(shù)の優(yōu)先順位です、「2」はパラメーターの數(shù)です関數(shù)は受け入れます。
WooCommerceチェックアウトページにカスタムフィールドを追加するにはどうすればよいですか?
WooCommerceチェックアウトページにカスタムフィールドを追加するには、 'woocommerce_after_order_ord_notes'フックを使用できます。例は次のとおりです。ADD_ACTION( 'WOOCOMMERCE_AFTER_ORDES_NOTES'、 'Add_custom_checkout_field');
function add_custom_checkout_field($ checkout){echo ''; array(
'type' => 'text'、
'class' => array( 'input-text')、
'label' => __( 'custom field')、
「必須」=> true、
)、$ checkout-> get_value( 'custom_field'));
echo '';
}
カスタムフィールドを追加したいフック、および「add_custom_checkout_field」はカスタムフィールドを作成する関數(shù)です。製品価格はプログラムで、 'woocommerce_product_get_price'フィルターフックを使用できます。例は次のとおりです。
add_filter( 'woocommerce_product_get_price'、 'modify_product_price'、10、2);
function modify_product_price($、$、product){
// return
$ new_price;
この例では、「woocommerce_product_get_price 'はフィルターフック、' modify_product_price 'はカスタム関數(shù)、「10」は関數(shù)の優(yōu)先順位です。関數(shù)は受け入れます。
以上がウコンマースアクションとフィルターのマスターの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress
リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover
寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類(lèi)リムーバー

Video Face Swap
完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版
中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

WordPressがサーバーCPU使用の急増を引き起こす主な理由には、プラグインの問(wèn)題、非効率的なデータベースクエリ、テーマコードの品質(zhì)の低さ、またはトラフィックの急増が含まれます。 1.最初に、トップ、HTOP、またはコントロールパネルツールを介したWordPressによって引き起こされる高い負(fù)荷であるかどうかを確認(rèn)します。 2.トラブルシューティングモードを入力して、プラグインを徐々に有効にしてパフォーマンスのボトルネックをトラブルシューティングし、QueryMonitorを使用してプラグインの実行を分析し、非効率的なプラグインを削除または交換します。 3.キャッシュプラグインをインストールし、冗長(zhǎng)データをクリーンアップし、スロークエリログを分析してデータベースを最適化します。 4.トピックには、コンテンツの過(guò)負(fù)荷、複雑なクエリ、キャッシングメカニズムの欠如などの問(wèn)題があるかどうかを確認(rèn)します。標(biāo)準(zhǔn)のトピックテストを使用して、コードロジックを比較および最適化することをお?jiǎng)幛幛筏蓼?。上記の手順に従って、?chǎng)所を確認(rèn)して解決し、問(wèn)題を1つずつ解決します。

JavaScriptファイルをマイニングすると、ブランク、コメント、役に立たないコードを削除することにより、WordPress Webサイトの読み込み速度を向上させることができます。 1。W3TOTALCACHEなどの圧縮をサポートするキャッシュプラグインを使用し、「MINIFY」オプションで圧縮モードを有効にし、選択します。 2。FastVelocityMinifyなどの専用圧縮プラグインを使用して、より細(xì)かい制御を提供します。 3. JSファイルを手動(dòng)で圧縮し、FTPを介してアップロードします。これは、開(kāi)発ツールに精通しているユーザーに適しています。一部のテーマまたはプラグインスクリプトは圧縮関數(shù)と競(jìng)合する可能性があり、アクティベーション後にWebサイト機(jī)能を徹底的にテストする必要があることに注意してください。

プラグインに依存しないWordPressサイトを最適化する方法は次のとおりです。1。積み重なったテーマを避けるために、AstraやGeneratePressなどの軽量テーマを使用します。 2. CSSおよびJSファイルを手動(dòng)で圧縮およびマージして、HTTP要求を削減します。 3.アップロードする前に畫(huà)像を最適化し、WebP形式を使用し、ファイルサイズを制御します。 4. configure.htaccessブラウザキャッシュを有効にし、CDNに接続して靜的リソースの負(fù)荷速度を向上させます。 5.記事の改訂を制限し、定期的にデータベース冗長(zhǎng)データをクリーンにします。

オブジェクトキャッシュは、高いアクセスと低更新に適した永続的なストレージを支援し、短期の失われたデータを許容します。 1.キャッシュの「永続性」に適したデータには、ユーザー構(gòu)成、一般的な製品情報(bào)などが含まれます。これらはデータベースから復(fù)元できますが、キャッシュを使用して加速できます。 2. Redis、RDBやAOFモードの有効化などの永続性をサポートするキャッシュバックエンドを選択し、合理的な有効期限ポリシーを構(gòu)成しますが、メインデータベースを置き換えることはできません。 3.長(zhǎng)いTTLを設(shè)定するか、キーの期限が切れないように、ユーザー:1001などの明確なキー名構(gòu)造を採(cǎi)用:データを変更するときにキャッシュを同期して更新します。 4.ローカルと分散したキャッシュを組み合わせて、小さなデータをローカルおよびビッグデータRedisを保存してビッグデータを保存し、一貫性とリソースの使用の問(wèn)題に注意を払いながら、再起動(dòng)後に回復(fù)に使用できます。

Transientapiは、自動(dòng)有効期限データを一時(shí)的に保存するためのWordPressの組み込みツールです。そのコア関數(shù)は、set_transient、get_transient、delete_transientです。 OptionsAPIと比較して、Transimentsは、Cache API要求の結(jié)果や複雑なコンピューティングデータなどのシナリオに適した、生存時(shí)間(TTL)の設(shè)定をサポートしています。それを使用する場(chǎng)合、キーネーミングと名前空間の獨(dú)自性、キャッシュ「怠zyな削除」メカニズム、およびオブジェクトキャッシュ環(huán)境では続かない問(wèn)題に注意を払う必要があります。一般的なアプリケーションシナリオには、外部要求頻度の削減、コード実行リズムの制御、ページの読み込みパフォーマンスの改善が含まれます。

コメントスパムを防ぐ最も効果的な方法は、プログラマティックな手段を介して自動(dòng)的に識(shí)別して傍受することです。 1.検証コードメカニズム(Googler CaptchaやHcaptchaなど)を使用して、特に公共のWebサイトに適した人間とロボットを効果的に區(qū)別します。 2.隠しフィールド(ハニーポットテクノロジー)を設(shè)定し、ロボットを使用して機(jī)能を自動(dòng)的に埋めて、ユーザーエクスペリエンスに影響を與えることなくスパムコメントを識(shí)別します。 3.コメントコンテンツのブラックリストを確認(rèn)し、敏感な単語(yǔ)の一致を通じてスパム情報(bào)をフィルタリングし、誤判斷を避けるために注意を払ってください。 4.コメントの頻度とソースIPを判斷し、単位時(shí)間あたりの提出數(shù)を制限し、ブラックリストを確立します。 5.サードパーティのスパムサービス(Akismet、CloudFlareなど)を使用して、識(shí)別の精度を向上させます。ウェブサイトに基づいていることができます

PluginCheckは、WordPressユーザーがプラグインの互換性とパフォーマンスをすばやくチェックするのに役立つツールです。主に、現(xiàn)在インストールされているプラ??グインに、WordPressの最新バージョン、セキュリティの脆弱性などと互換性がないなどの問(wèn)題があるかどうかを特定するために使用されます。インストールとアクティベーションの後、バックグラウンドの「runaScan」ボタンをクリックして、すべてのプラグインを自動(dòng)的にスキャンします。 2。レポートには、プラグイン名、検出タイプ、問(wèn)題の説明、およびソリューションの提案が含まれています。これにより、深刻な問(wèn)題の優(yōu)先処理が容易になります。 3. WordPressを更新する前に検査を?qū)g行することをお?jiǎng)幛幛筏蓼埂%ΕД芝单ぅ趣萎惓¥惓¥扦ⅳ雸?chǎng)合、または定期的に実行されて隠された危険を事前に発見(jiàn)し、將來(lái)の大きな問(wèn)題を回避することをお?jiǎng)幛幛筏蓼埂?/p>

Gutenbergブロックを開(kāi)発する場(chǎng)合、エンキュー資産の正しい方法には次のものが含まれます。1。register_block_typeを使用して、editor_script、editor_style、およびstyleのパスを指定します。 2。functions.phpまたはプラグインでwp_register_scriptとwp_register_styleを介してリソースを登録し、正しい依存関係とバージョンを設(shè)定します。 3.適切なモジュール形式を出力し、パスが一貫していることを確認(rèn)するためのビルドツールを構(gòu)成します。 4. Add_Theme_SupportまたはEnqueue_Block_Assetsを介してフロントエンドスタイルの読み込みロジックを制御して、フロントエンドスタイルのロードロジックが確保されるようにします。
