WC Pickup Store

WC Pickup Store is a WooCommerce plugin that will help you to display stores on the Checkout page as a custom shipping method and also let your customers choose a store where their orders can be picked up.

Fortunately, it has been helpful to many people so I decided to write this article to be used as a basic and advanced documentation. Plugin and store settings, filters and actions, translations file location, and other information can be found in this article.

Don’t hesitate to contact me if you think that something important is missing about this article or the plugin. By the way, this is my first article in English, I hope you enjoy it! 🙂

Contact information

Plugin options

Main options

Go to Main menu > Stores > Settings to edit the main options

  • Enable/Disable: Enable or disable the plugin.
  • Enable stores in checkout: Enable the store to be visible in the Checkout shipping options.
  • Shipping Method Title: Title for shipping method.
  • Shipping Costs Type: Use costs for this shipping method. Available options:
    • None (Disable)
    • Flat
    • Percentage
  • Shipping Costs: Main cost for shipping method. It can be overridden per store.
  • Enable costs per store: Manage shipping costs per store.
  • Order Stores by: Order by options for the dropdown in the shipping options. Available options:
    • Title
    • Date
    • ID
    • Random
  • Order: Ordering criteria. Available options:
    • ASC
    • DESC
  • Default store: Set up the default store to be displayed in the shipping options.
  • Checkout notification: Message to be displayed below the store dropdown on the Checkout page.
  • Hide store details on Checkout: This option hides the store details that are displayed by default in the shipping method options for the selected store.
  • Disable Bootstrap: Disable Bootstrap added by the plugin. Version: 3.3.7.
  • Disable Font Awesome: Disable Font Awesomeadded by the plugin. Version: 4.7.0.
  • Disable local css: Disable the stylesheet added by the plugin.

Store options

  • Checkout visibility: Allows you to hide a store in the store dropdown options.
  • Custom Fields: All these fields are optional but also useful:
    • City
    • Phone
    • Email Order Notification: Email that will be notified when the store is selected on the Checkout.
    • Enable order email notification: It activates the order notification for the selected store.
    • Waze
    • Map: Use the iframe source URL in this field.
    • Short description
    • Address
    • Feature image

Any doubts or suggestions?



  • Widget
  • WPBakery Page Builder (Visual composer) element
  • Archive page
  • Single Store page


This plugin has different templates that could be overwritten from your theme or child theme. Just clone the files located in wc-pickup-store/templates/ to custom-theme/templates-parts/ (only archive-store.php and single-store.php are overwritten in the root of your theme). Some of the available templates:

  • archive-store.php
  • selected-store-details.php: Added in versión 1.5.22 to display the selected store details on the Checkout page.
  • single-store.php
  • wrapper-store.php: Template to display store details in a widget section.
  • wrapper-vc_store.php: Template to display stores in a WPBakery Page Builder layout.
Store details on the Checkout
Widget layout

Any doubts or suggestions?



  • wps_store_query_args ($query_args): Filters the main store query.
  • wps_no_stores_availables_message ($message): Filters the message that appears on the Checkout when there are no stores availables.
  • wps_first_store ($first_store_name): Filters the default store that appears as first option on the Checkout.
  • wps_store_checkout_label ($stores_checkout_label): Filters the label that appears in the stores dropdown.
  • wps_shipping_method_label ($method_title): Filters the shipping method label.
  • wps_store_pickup_cost_label ($label, $selected_store): Filters the label of the selected store on the Checkout.
  • wps_get_store_custom_fields ($keys_arr): Filters the custom fields keys that will be prepared for the Checkout.
  • wps_stores_fields ($store_fields): Filters the custom fields array with the values that will be displayed on the Checkout.
  • wps_settings_data ($value, $setting_key, $settings): Filters the values of the plugin settings.
  • wps_order_shipping_item_label ($shipping_label, $notification_message): Filters the label for selected store that appears in the order details.
  • wps_subtotal_for_store_cost ($cart_subtotal): Filters the subtotal to be used in the percentage store shipping calculation.
  • wps_store_calculated_costs ($costs, $costs_type): Filters the store shipping cost.
  • wps_store_get_waze_icon ($waze_icon_img):
  • wps_store_get_vc_waze_icon ($waze_icon_img):
  • wps_store_city ($store_city, $store_id): Filters the store title displayed in the WPBakery Page Builder element.


  • wps_before_archive_store_content/wps_after_archive_store_content ($store_id)
  • wps_before_single_content/wps_after_single_content ($store_id)
  • wps_before_widget_content/wps_after_widget_content ($store_id)
  • wps_before_vc_content/wps_after_vc_content ($store_id)


This plugin has a .pot file located in the /languages/directory. Also, it includes es_CR translation and it’s been translated to cs_CZ language by a collaboration.

By KeylorCR

Hello world. My name is Keylor Mendoza from Costa Rica, a WordPress Developer with more than 5 years of experience working with custom themes and plugins. Strong experience working with WooCommerce customizations.

Leave a Reply

Your email address will not be published. Required fields are marked *