SoftGlaze Search (Multilingual)
The multilingual build of SoftGlaze Search: the same Mapbox directory search plus a language layer and a wider set of configured post types.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/softglazee/softglaze-search-multilingual/archive/refs/heads/master.zipVersion 1.0.0 · 24 files · text domain softglaze-search
The multilingual build of SoftGlaze Search. Same directory search, plus a language layer and a wider set of configured post types.
One of two divergent builds. The other is
softglaze-search. They share table names and shortcode tags, so only one may be active on a given site.
How it differs from the base build
It carries two functions the base build does not — sg_search_get_current_lang_context() and sg_search_get_ui_translations() — which is the language layer this branch exists for. It also passes language and country through to the frontend, and configures a longer list of post types. The base build has one function this one lacks, sg_search_filter_expertise_callback(). Everything else is the same function set with diverged bodies.
Provides
- Shortcodes —
[sg_search_form],[sg_search_results_page],[sg_search_form_single],[sg_search_form_dual],[sg_search_results_display],[sg_category_block],[sg_display_providers],[sg_latest_blog_grid], plus a generated[list_all_<slug>]per configured post type - Admin — Settings page holding the Mapbox public token (
softglaze_search_mapbox_key), result page URL and form HTML - Universal templates —
single-cpt-universal.phprenders any configured post type, not just one
Tables
{prefix}sg_providers, {prefix}sg_reviews, {prefix}sg_faqs, {prefix}sg_suggestions. sg_providers is also written by SoftGlaze Trustoo Scraper.
Requires
ACF, and a Mapbox public token set in the plugin's settings. No token is bundled; map and autocomplete stay inert until one is entered.
Known issues, both pre-existing
assets/css/map.jsposts to an AJAX actionsoftplug_fetch_locationsthat no PHP handler registers. The script is enqueued, so the request fails silently.- The plugin writes to
{prefix}sg_suggestionsbut never creates that table.
Removed dead code
Three files were deleted after checking they were unreachable: includes/painters-cpt.php (41 KB), includes/updatepost.php (33 KB) and includes/archive-cpt-universal.php. None was required by any file, none defined a symbol the loaded code called, none was wired to a template filter, and no other plugin referenced them. They held the only registration of a painters post type with painters_category / painters_services taxonomies, and the only CREATE TABLE for {prefix}sg_providers — all of which had therefore never run. No loaded file reads that table. The code remains in git history if it is ever wanted back.
Licence
GPLv2 or later — see LICENSE. Copyright (C) 2026 Azhar Ali (SoftGlaze).
This plugin ships no credentials. Every API key it needs is entered in the WordPress admin and stored as an option.