Troubleshooting
Every common issue we’ve seen, with the exact fix. Use Cmd/Ctrl+F to find your symptom.
Site is broken (white screen / 500 error)
Symptom: site shows blank page, or “There has been a critical error on this website”
Diagnose:
- Enable WP debug logging in
wp-config.php:
“php define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); “
- Reproduce the error.
- Check
/wp-content/debug.logfor the actual PHP error.
Common fixes:
- PHP fatal in a plugin — disable plugins via SFTP: rename
/wp-content/plugins/→plugins-old/. Site comes back. Re-enable one at a time. - Theme function missing — the theme might be partially uploaded. Re-upload a fresh
best-classifieds.zipvia SFTP, replacing the folder entirely. - Memory limit hit — bump in
wp-config.php:define( 'WP_MEMORY_LIMIT', '256M' );
Listing pages render as plain blog posts (no sidebar, no listing UI)
Cause: the listing isn’t recognized as a listing.
Fix: the post must satisfy ONE of these:
- Be assigned to the parent Listings category, OR
- Be assigned to a registered listing sub-category (Vehicles, Property, etc.), OR
- Have post meta
_bc_priceor_bc_locationset
If the WOW Feeder created the listing, all three should be true. If you created it manually, double-check the Categories panel in the post editor.
Price shows as $0 or $ 0
Cause: the price helper is casting a pre-formatted string to float.
Fix: versions 2.0.0+ handle this correctly. If you’re on an older theme, update.
If you’re on the latest and still seeing $0:
- Check the actual
_bc_pricemeta value:wp post meta get {post_id} _bc_price - If it’s empty, the listing genuinely has no price set
Category archive title shows raw HTML
Symptom: “Category: <span>Property</span>” appears literally.
Cause: WordPress’s the_archive_title() returns HTML; we have to strip it before escaping.
Fix: versions 2.0.0+ have this fixed. Update the theme.
Search dropdown shows spinner + empty + results all at once
Cause: the [hidden] HTML attribute is being overridden by display: flex.
Fix: versions 2.0.0+ have a [hidden] { display: none !important } rule. Update the theme.
If it’s still happening after update: hard-refresh (Ctrl+Shift+R) to bust browser CSS cache.
“Show Contact Email” button doesn’t actually show the email
Cause: old behavior used mailto: directly without revealing the address.
Fix: versions 2.0.0+ use a two-click reveal. First click shows the email, second click opens the mail composer.
“Post Free Ad” button goes to #
Cause (with Pro): the customizer URL is # and the smart routing isn’t running.
Fix:
- Verify Pro is active and licensed.
- Verify
/post-a-listing/page exists. Run the WOW Feeder again if not. - Or set the URL manually at Customize → Best Classifieds Options → Hero → “Post Free Ad” button URL.
Cause (free theme only): the customizer URL was never set.
Fix: set it to your submission page URL or remove the button by leaving it blank — the theme hides the button if the URL is empty.
Demo Importer fatal: “Unexpected token ‘<', 'There h'... is not valid JSON"
Cause: a PHP fatal occurred during the listings step. Usually memory exhaustion downloading 144 Pexels images.
Fix: in wp-config.php:
define( 'WP_MEMORY_LIMIT', '512M' );
@ini_set( 'memory_limit', '512M' );
@ini_set( 'max_execution_time', 600 );
WOW Feeder 1.2.1+ also has a fatal-handler that converts PHP fatals to readable JSON errors — update the plugin if you’re on an older version.
Pexels images don’t appear after import
Symptom: Media Library full of gradient placeholders even though the API key is saved.
Cause: first import ran without a key; subsequent runs skip existing listings.
Fix:
- Tools → BC WOW Feeder → click Test connection → confirm the key works.
- Click 🔄 Refresh images only.
- Wait ~2 minutes — only the photo step runs, replacing placeholders with real photos.
Pexels API returns 0 photos
Cause: rate limit (200/hour) hit, or the search query is too obscure.
Fix:
- Check the Pexels error displayed inline on the WOW Feeder admin page
- If “rate limit”: wait an hour, click Clear Pexels cache, retry
- If “0 photos”: the query in
listings.jsonfor that listing is too specific. Open the JSON, changepexels_queryto something broader.
License key shows “Invalid”
See Updates & License → Troubleshooting for full coverage.
Quick checklist:
- Re-copy the key (no whitespace)
- Site URL hasn’t changed since activation
curl https://fasterthemes.comworks from your server’s CLI
Listings vanish after activating a new theme then reactivating Best Classifieds
Cause: the other theme used a custom post type, and now those listings don’t show on a post-type-based theme.
Fix: convert post types via WP-CLI:
wp post list --post_type=other_post_type --format=ids
| xargs -I {} wp post update {} --post_type=post
Image uploads fail in the frontend submission form
Cause: server upload limits.
Fix: check php.ini settings (your host’s control panel usually exposes these):
upload_max_filesize = 10M
post_max_size = 12M
max_file_uploads = 20
Restart PHP-FPM after changing.
Customizer doesn’t preview color palette change
Cause: the customizer’s transport: postMessage for instant preview isn’t wired for palette changes.
Fix: click Publish and reload to see the change. Live-preview support for palettes is coming in 2.1.
“Post Free Ad” goes to login but never returns to the submission form
Cause: WP login redirect URL has a stale value.
Fix: verify in the URL bar that ?redirect_to=... is set when you click the button. If not, the smart routing isn’t generating the redirect; check Pro is active.
Live search REST endpoint returns 404
Cause: rewrite rules need flushing.
Fix:
wp rewrite flush
Or via UI: Settings → Permalinks → Save (without changing anything).
OSM map doesn’t render on listing detail
Causes:
- Listing has no
_bc_lator_bc_lngmeta set → no map shows (by design) - Both meta exist but JS isn’t loading → Leaflet might be blocked by an aggressive ad-blocker or CSP. Check the browser console for errors.
Email notifications never arrive
Cause: WordPress’s default wp_mail() uses the server’s sendmail, which most cloud hosts block or sandbox.
Fix: install WP Mail SMTP plugin and configure with Postmark, SendGrid, or Amazon SES. See Going Live Checklist → Email deliverability for the full setup.
Stripe checkout opens but payment doesn’t go through
Diagnose:
- Stripe dashboard → Logs → look for the failed payment intent.
- Check the error code (declined, 3DS failed, etc.).
Common fixes:
- Live keys in test mode (or vice versa) — they don’t mix; double-check at Classifieds Pro → Settings → Payments → Stripe.
- Webhook signing secret missing — webhooks fail silently without it.
- Currency mismatch — your Stripe account is configured for a currency that BC Pro isn’t sending.
Razorpay checkout doesn’t open
Cause: Razorpay’s JS SDK can’t load (CSP, ad-blocker, network).
Fix:
- Test in a clean browser without extensions
- Check Content Security Policy headers —
https://checkout.razorpay.commust be inscript-src - Ensure outbound HTTPS to
*.razorpay.comisn’t blocked by your firewall
Site is slow / PageSpeed scores low
The base theme scores ~95 on mobile. If you’re seeing lower:
- Check what plugins you’ve added — bloat is usually the culprit (heavy social-share plugins, push notification, on-page chat widgets)
- Install a page cache (WP Rocket or Cache Enabler)
- Confirm images are being lazy-loaded
- Use a CDN (Cloudflare free tier)
Search returns nothing even though listings exist
Cause: WordPress’s default search excludes private and pending posts and limits to specific post types.
Fix: confirm your listings are publish status. If using a custom post type, register it with 'public' => true and 'exclude_from_search' => false.
Custom font isn’t loading
The theme uses self-hosted Geist/Geist Mono and Playfair Display via the bundled assets/fonts/ files. If a font isn’t loading:
- Check the browser console for 404s on
/wp-content/themes/best-classifieds/assets/fonts/... - Verify the font files actually uploaded (sometimes SFTP misses binary files)
- Hard-refresh
Mobile menu doesn’t open
Cause: navigation.js not loading.
Fix: check Plugins for a JS-minifier plugin that might be munging the script. Disable it temporarily and verify the menu works without minification.
Got an issue not covered here?
- Check the browser console for JS errors
- Check
/wp-content/debug.logfor PHP errors - Disable all plugins except Best Classifieds Pro to isolate
- Switch to Twenty Twenty-Four briefly to confirm it’s the theme vs. a global issue
- If it’s reproducible in a clean install, email support@fasterthemes.com with:
– Steps to reproduce – Screenshot or screen recording – WordPress version, PHP version, list of active plugins – The relevant entries from debug.log
We aim to respond within 8 hours on business days.