{"id":8107,"date":"2025-11-17T20:42:14","date_gmt":"2025-11-17T11:42:14","guid":{"rendered":"https:\/\/www.flow-state.jp\/amelia\/?post_type=bwl_kb&#038;p=8107"},"modified":"2025-11-17T21:06:41","modified_gmt":"2025-11-17T12:06:41","slug":"js-hooks-event","status":"publish","type":"bwl_kb","link":"https:\/\/www.flow-state.jp\/amelia\/mypage\/javascript-hooks\/js-hooks-event\/","title":{"rendered":"\u30a4\u30d9\u30f3\u30c8\u30d5\u30a9\u30fc\u30e0"},"content":{"rendered":"<div class=\"p-blogParts post_content\" data-partsID=\"3489\">\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer u-mb-ctrl u-mb-0\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-huge-font-size\"><span style=\"--the-icon-svg: url(data:image\/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMTEuNyAxLjQgNi44IDVjLS41LjQtLjggMS0uOCAxLjZ2MjguN2MwIC44LjUgMS41IDEuMiAxLjhsMjQgMTAuM2MxLjMuNiAyLjgtLjQgMi44LTEuOFYxOWMwLS44LS41LTEuNS0xLjItMS44TDEwLjIgNy41bDIuOS0yLjJjLjktLjYgMi0uOCAzLS40bDIwLjYgOC44Yy43LjMgMS4yIDEgMS4yIDEuOFY0Mi45YzAgLjkgMSAxLjMgMS43LjhsMS43LTEuNWMuNC0uNC43LS45LjctMS41VjEzYzAtLjgtLjUtMS41LTEuMi0xLjhMMTYuNy44Yy0xLjctLjctMy42LS41LTUgLjZ6Ij48L3BhdGg+PC9zdmc+)\" data-icon=\"LsBook\" data-id=\"0\" aria-hidden=\"true\" class=\"swl-inline-icon\">\u2003<\/span> <strong>\u64cd\u4f5c\u30ac\u30a4\u30c9<\/strong><\/p>\n\n\n<p><form id=\"form\" action=\"https:\/\/www.flow-state.jp\/amelia\" autocomplete=\"off\" class=\"bkb-live-search-form bkb-sbox-layout-1 rounded-box\">\n                                                <div id=\"suggest\" class=\"bkb_filter_container\">\n                                                    <input type=\"text\" size=\"25\" value=\"\" id=\"s\" name=\"s\" class=\"s\" placeholder=\"\u304a\u63a2\u3057\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\uff08\u30ad\u30fc\u30ef\u30fc\u30c9\u306e\u533a\u5207\u308a\u306f\u534a\u89d2\u30b9\u30da\u30fc\u30b9\uff09\" data-search-box-unique-id=\"2307608475\" data-search_limit=\"30\" data-search_only_title=\"0\" data-search_both_tc=\"0\"\/>\n                                                    <span class=\"bkbm-btn-clear bkbm-dn\"><\/span>\n                                                    <div class=\"suggestionsBox\" id=\"suggestions_2307608475\" style=\"display: none;\">\n                                                        <div class=\"suggestionList\" id=\"suggestionsList_2307608475\"> &nbsp; <\/div>\n                                                    <\/div>\n                                                <\/div>\n                                            <\/form><\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Amelia JavaScript\u30d5\u30c3\u30af &#8211; \u30a4\u30d9\u30f3\u30c8\u30d5\u30a9\u30fc\u30e0<\/h2>\n\n\n\n<p class=\"is-style-icon_info\">\u30d5\u30c3\u30af\u306e\u4f7f\u7528\u306b\u306f\u4e00\u5b9a\u30ec\u30d9\u30eb\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30ad\u30eb\u304c\u5fc5\u8981\u3067\u3042\u308a\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u63d0\u4f9b\u3055\u308c\u308b\u30b5\u30dd\u30fc\u30c8\u306b\u306f\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u3053\u308c\u3089\u306e\u30d5\u30c3\u30af\u306f\u3001\u65b0\u3057\u3044\u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30c8\u30d5\u30a9\u30fc\u30e0\uff08<class=\"wp-block-code\"><code><copy>&#091;ameliaeventslistbooking]<\/copy><\/code>\uff09\u3067\u306e\u307f\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u30d1\u30e9\u30e1\u30fc\u30bf<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code><strong>success function<\/strong><\/code>: \u6210\u529f\u6642\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3002<code>'beforeBooking'<\/code> \u30d5\u30c3\u30af\u3067\u306e\u307f\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><code><strong>error function<\/strong><\/code>: \u30a8\u30e9\u30fc\u6642\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3002<code>'beforeBooking'<\/code> \u30d5\u30c3\u30af\u3067\u306e\u307f\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><code><strong>data object<\/strong><\/code>: \u30a4\u30d9\u30f3\u30c8\u3068\u4e88\u7d04\u306e\u30c7\u30fc\u30bf\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d5\u30a9\u30fc\u30e0\u306e\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86<\/h3>\n\n\n\n<p><code>'ViewContent'<\/code> \u30d5\u30c3\u30af\u306f\u3001\u30d5\u30a9\u30fc\u30e0\u304c\u8aad\u307f\u8fbc\u307e\u308c\u305f\u5f8c\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>window.ameliaActions = {\n    ViewContent: function (success = null, error = null, data) {\n        console.log(&#39;ViewContent HOOK&#39;)\n        console.log(data)\n        console.log(&#39;------------&#39;)\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u30a4\u30d9\u30f3\u30c8\u304c\u9078\u629e\u3055\u308c\u307e\u3057\u305f<\/h3>\n\n\n\n<p><code>'SelectEvent'<\/code> \u30d5\u30c3\u30af\u306f\u3001\u30d5\u30a9\u30fc\u30e0\u3067\u30a4\u30d9\u30f3\u30c8\u304c\u9078\u629e\/\u5909\u66f4\u3055\u308c\u305f\u3068\u304d\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>window.ameliaActions = {\n    SelectEvent: function (success = null, error = null, data) {\n        console.log(&#39;SelectEvent HOOK&#39;)\n        console.log(data)\n        console.log(&#39;------------&#39;)\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u30a4\u30d9\u30f3\u30c8\u30c1\u30b1\u30c3\u30c8<\/h3>\n\n\n\n<p><code>'EventTickets'<\/code> \u30d5\u30c3\u30af\u306f\u3001\u30a4\u30d9\u30f3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u30a4\u30d9\u30f3\u30c8\u30c1\u30b1\u30c3\u30c8\u304c\u8868\u793a\u3055\u308c\u305f\u3068\u304d\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>window.ameliaActions = {\n    EventTickets: function (success = null, error = null, data) {\n        console.log(&#39;EventTickets HOOK&#39;)\n        console.log(data)\n        console.log(&#39;------------&#39;)\n        let tickets = data.event.customTickets \n        \n        \/\/ ===========================\n        \/\/ \u4e26\u3079\u66ff\u3048\u30aa\u30d7\u30b7\u30e7\u30f3\uff08\u3044\u305a\u308c\u304b\u3092\u9078\u629e\uff09\n        \/\/ ===========================\n        \/\/ --- \u540d\u524d\u6607\u9806\u3067\u4e26\u3079\u66ff\u3048 ---\n        \/\/ tickets = tickets.sort((a, b) =&gt; a.name.localeCompare(b.name, undefined, {sensitivity: &#39;base&#39;}))\n        \/\/ --- \u540d\u524d\u964d\u9806\u3067\u4e26\u3079\u66ff\u3048 ---\n        \/\/ tickets = tickets.sort((a, b) =&gt; b.name.localeCompare(a.name, undefined, {sensitivity: &#39;base&#39;}))\n        \/\/ --- ID\u6607\u9806\u3067\u4e26\u3079\u66ff\u3048 ---\n        \/\/ tickets = tickets.sort((a, b) =&gt; a.id - b.id)\n        \/\/ --- ID\u964d\u9806\u3067\u4e26\u3079\u66ff\u3048 ---\n        \/\/ tickets = tickets.sort((a, b) =&gt; b.id - a.id)\n        \/\/ --- \u4fa1\u683c\u6607\u9806\u3067\u4e26\u3079\u66ff\u3048 ---\n        \/\/ tickets = tickets.sort((a, b) =&gt; a.price - b.price)\n        \/\/ --- \u4fa1\u683c\u964d\u9806\u3067\u4e26\u3079\u66ff\u3048 ---\n        \/\/ tickets = tickets.sort((a, b) =&gt; b.price - a.price)\n        \n        data.setTickets(tickets)\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u60c5\u5831\u5165\u529b\u30b9\u30c6\u30c3\u30d7\u306e\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86<\/h3>\n\n\n\n<p><code>'InitInfoStep'<\/code> \u30d5\u30c3\u30af\u306f\u3001\u304a\u5ba2\u69d8\u60c5\u5831\u5165\u529b\u30b9\u30c6\u30c3\u30d7\u304c\u8aad\u307f\u8fbc\u307e\u308c\u305f\u3068\u304d\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>window.ameliaActions = {\n    InitInfoStep: function (success = null, error = null, data) {\n        console.log(&#39;InitInfoStep HOOK&#39;)\n        console.log(data)\n        console.log(&#39;------------&#39;)\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u60c5\u5831\u5165\u529b\u30b9\u30c6\u30c3\u30d7\u3067\u306e\u30ab\u30b9\u30bf\u30e0\u691c\u8a3c<\/h3>\n\n\n\n<p><code>'customValidation'<\/code> \u30d5\u30c3\u30af\u306f\u3001\u304a\u5ba2\u69d8\u60c5\u5831\u5165\u529b\u30b9\u30c6\u30c3\u30d7\u304c\u691c\u8a3c\u3055\u308c\u308b\u969b\u3001\u6c7a\u6e08\u30b9\u30c6\u30c3\u30d7\u304c\u8aad\u307f\u8fbc\u307e\u308c\u308b\u524d\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>window.ameliaActions = {\n    customValidation: function (success = null, error = null, data) {\n        console.log(&#39;customValidation HOOK&#39;)\n        console.log(&#39;------------&#39;)\n        console.log(data)\n        const customValidator = (rule, value, callback) =&gt; {\n            if (value.includes(&#39;SOME_REGEX&#39;)) {\n                callback(new Error())\n            } else {\n                callback()\n            }\n        }\n        \/\/ \u3053\u308c\u306f\u30e1\u30fc\u30eb\u5165\u529b\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u4f8b\u3067\u3059\n        data.rules.email.push({message: &#39;\u30ab\u30b9\u30bf\u30e0\u30e1\u30c3\u30bb\u30fc\u30b8&#39;, validator: customValidator})\n        \/\/ \u3053\u308c\u306f\u30ab\u30b9\u30bf\u30e0\u9805\u76ee\u306e\u4f8b\u3067\u3059\n        var customFieldId = 2\n        data.rules[&#39;cf&#39; + customFieldId].push({message: &#39;\u30ab\u30b9\u30bf\u30e0\u30e1\u30c3\u30bb\u30fc\u30b8&#39;, validator: customValidator})\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u6c7a\u6e08\u30b9\u30c6\u30c3\u30d7\u306e\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86<\/h3>\n\n\n\n<p><code>'InitiateCheckout'<\/code> \u30d5\u30c3\u30af\u306f\u3001\u6c7a\u6e08\u30b9\u30c6\u30c3\u30d7\u304c\u8aad\u307f\u8fbc\u307e\u308c\u305f\u3068\u304d\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>window.ameliaActions = {\n    InitiateCheckout: function (success = null, error = null, data) {\n        console.log(&#39;InitiateCheckout HOOK&#39;)\n        console.log(data)\n        console.log(&#39;------------&#39;)\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u300c\u78ba\u5b9a\u300d\u30dc\u30bf\u30f3\u304c\u30af\u30ea\u30c3\u30af\u3055\u308c\u307e\u3057\u305f<\/h3>\n\n\n\n<p><code>'beforeBooking'<\/code> \u30d5\u30c3\u30af\u306f\u3001\u300c\u78ba\u5b9a\u300d\u30dc\u30bf\u30f3\u304c\u30af\u30ea\u30c3\u30af\u3055\u308c\u305f\u5f8c\u3001\u4e88\u7d04\u304c\u5b8c\u4e86\u3059\u308b\u524d\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u30d5\u30c3\u30af\u306f\u73fe\u5728\u3001Mollie\u304a\u3088\u3073WooCommerce\u306e\u6c7a\u6e08\u3067\u306f\u6a5f\u80fd\u3057\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>window.ameliaActions = {\n    beforeBooking: function (success = null, error = null, data) {\n        console.log(&#39;Before booking is created HOOK&#39;)\n        console.log(data)\n        console.log(&#39;------------&#39;)\n        \n        \/\/ \u4e88\u7d04\u3092\u5b8c\u4e86\u3059\u308b\u305f\u3081\u306b success \u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u3092\u547c\u3073\u51fa\u3059\n        success()\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u5f53\u65e5\u6255\u3044\u4e88\u7d04\u306e\u5b8c\u4e86<\/h3>\n\n\n\n<p><code>'Schedule'<\/code> \u30d5\u30c3\u30af\u306f\u3001\u5f53\u65e5\u6255\u3044\u4e88\u7d04\u304c\u5b8c\u4e86\u3057\u305f\u5f8c\u3001\u5b8c\u4e86\u30b9\u30c6\u30c3\u30d7\u304c\u8aad\u307f\u8fbc\u307e\u308c\u308b\u524d\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>window.ameliaActions = {\n    Schedule: function (success = null, error = null, data) {\n        console.log(&#39;Schedule HOOK&#39;)\n        console.log(data)\n        console.log(&#39;------------&#39;)\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u30aa\u30f3\u30e9\u30a4\u30f3\u6c7a\u6e08\u4e88\u7d04\u306e\u5b8c\u4e86<\/h3>\n\n\n\n<p><code>'Purchased'<\/code> \u30d5\u30c3\u30af\u306f\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u6c7a\u6e08\u4e88\u7d04\u304c\u5b8c\u4e86\u3057\u305f\u5f8c\u3001\u5b8c\u4e86\u30b9\u30c6\u30c3\u30d7\u304c\u8aad\u307f\u8fbc\u307e\u308c\u308b\u524d\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>window.ameliaActions = {\n    Purchased: function (success = null, error = null, data) {\n        console.log(&#39;Purchased HOOK&#39;)\n        console.log(data)\n        console.log(&#39;------------&#39;)\n    }\n}<\/code><\/pre><\/div>\n","protected":false},"author":1,"parent":0,"template":"","bkb_category":[77],"bkb_tags":[],"class_list":["post-8107","bwl_kb","type-bwl_kb","status-publish","hentry","bkb_category-javascript-hooks"],"_links":{"self":[{"href":"https:\/\/www.flow-state.jp\/amelia\/wp-json\/wp\/v2\/bwl_kb\/8107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flow-state.jp\/amelia\/wp-json\/wp\/v2\/bwl_kb"}],"about":[{"href":"https:\/\/www.flow-state.jp\/amelia\/wp-json\/wp\/v2\/types\/bwl_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.flow-state.jp\/amelia\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":1,"href":"https:\/\/www.flow-state.jp\/amelia\/wp-json\/wp\/v2\/bwl_kb\/8107\/revisions"}],"predecessor-version":[{"id":8108,"href":"https:\/\/www.flow-state.jp\/amelia\/wp-json\/wp\/v2\/bwl_kb\/8107\/revisions\/8108"}],"wp:attachment":[{"href":"https:\/\/www.flow-state.jp\/amelia\/wp-json\/wp\/v2\/media?parent=8107"}],"wp:term":[{"taxonomy":"bkb_category","embeddable":true,"href":"https:\/\/www.flow-state.jp\/amelia\/wp-json\/wp\/v2\/bkb_category?post=8107"},{"taxonomy":"bkb_tags","embeddable":true,"href":"https:\/\/www.flow-state.jp\/amelia\/wp-json\/wp\/v2\/bkb_tags?post=8107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}