Klarna Checkout – Hooks (action & filter)
Hooks in WordPress essentially allow you to change or add code without editing core files. They are used extensively throughout WordPress and WooCommerce and are very useful for developers.
Read more about action and filter hooks here:
In Klarna Checkout for WooCommerce there are some action and filter hooks available, mainly for modifying the order data sent to Klarna and how the checkout page should be displayed.
The appearance of the Klarna Checkout page comes with a two-column layout. In this layout we have shopping cart, delivery options and customer order note in the left-hand column while Klarna’s checkout (where you enter personal information and choose payment method) is shown in the right-hand column.
Sometimes you need to change the design of the checkout page and with Klarna Checkout for WooCommerce it is possible in a couple of different ways.
1. Simple CSS changes
If you only want to make minor design changes, CSS adjustments may be enough to get you where you want.
For example, to create a checkout page with a single-column layout, add the following CSS to your theme:
2. Remove, add and move with action hooks
If you want to make some more extensive changes to the layout of the checkout page, it is recommended to work with action hooks.
The checkout template file
On the Klarna Checkout template page, there are several action hooks you can use to add code or content. These hooks have the following names:
You can find their location here:
Through these action hooks, you can easily add information to different locations on the checkout page.
3. Create your own template file
If you need to make changes that can’t be accomplished via action hooks, then you are able to overwrite the checkout template file via your theme. The plugin supports WooCommerce’s way of handling template files.
The template file used for displaying Klarna Checkout is called klarna-checkout.php and it is located in the
templatesfolder in the plugin. To overwrite the file, copy it from the plugin, then paste it into the
/woocommercefolder in your theme. Now you have the opportunity to make the changes you want. Keep in mind that the action hooks
kco_wc_after_snippetmust remain for the plugin to work properly.
Action filters are used to modify data before sending it to an external service, rendering it in the browser or storing it in a database. The most common occasion this might be used in the plugin is if you want to modify the order/cart data sent to Klarna before the KCO checkout is rendered.
Modify order data sent to Klarna
To modify the order data sent to Klarna (actually the cart data since the WooCommerce order isn’t created until after the purchase is finalized in Klarna Checkout), you use the filter
kco_wc_api_request_argsas described in the following example:
Information about available parameters in Klarnas API can be found here.