Insight - Levinger - IG Reviews
Instagram-style video reviews feed for Dr. Levinger (filterable RTL grid + immersive lightbox). Shortcode: [levinger_ig_reviews].
by Insight Marketing · github.com/udiinsight/insight-levinger-ig-reviews · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/udiinsight/insight-levinger-ig-reviews/archive/refs/heads/main.zipLevinger IG Reviews
Instagram-style video reviews feed for Dr. Levinger.
Description
Renders a filterable, RTL grid of video testimonials from the existing _reviews
custom post type, with an immersive (Reels-style) lightbox. The plugin is read-only
over existing data: it queries reviews that have a video plus a doctor and procedure
relation, and does not modify the existing /reviews/ page or any existing field.
Shortcode: [levinger_ig_reviews]
Attributes:
columns— grid columns on desktop (default 4; clamped 2–6)limit— max reviews (default -1 = all)procedure— scope the feed to one procedure (see below)doctor— scope the feed to one doctor (see below)accent— teal | navy | dark | purple | #hex (default teal)cta_url— consultation link shown on the lightbox CTActa_text— CTA label (default: קבעו תור ייעוץ)
The feed shows a review when its reviewsvideo field is set and it has a doctor and
procedure relation. Optional fields used when present: review_transcript (lightbox
live-captions + SEO), review_duration (card duration pill), ig_permalink (share).
Scoping the feed to a procedure or doctor
procedure and doctor filter the query itself — only matching reviews are fetched —
and the matching filter control is hidden, so a scoped feed cannot be filtered away from
the page it sits on. Each accepts, in order:
current— the post being viewed. Drop[levinger_ig_reviews procedure="current"]into a single-procedure template and it needs no other configuration.- a post ID — e.g.
procedure="8099" - a slug — e.g.
procedure="laser-glasses-removal" - an
ig_tag— e.g.procedure="ניתוח_קטרקט_מסורתי", useful because Hebrew slugs are percent-encoded and impractical to type
Polylang translations share a slug, so a slug lookup prefers the Hebrew post. Scoping to something that matches nothing shows the empty state rather than the whole feed.
Changelog
0.6.2
- Dropped Frank Ruhl Libre from the enqueued Google Fonts request. Headings use Assistant, the family the feed already used for body text, differentiated by weight.
0.6.1
- The Instagram caption is shown under the video, clamped to two lines with an "עוד" / "פחות" expander, the way Instagram presents it. It was stored in post_content all along but never sent to the front end.
- Hashtags are stripped from the displayed caption: the marker is internal and the doctor/procedure tags already appear as chips above it. Windows line endings are normalised so the clamp counts real lines.
0.5.1
review_durationis filled automatically on ingest. Instagram sends no duration, but media_handle_sideload() has already run getID3 over the file, so the running time is read from the attachment metadata. A duration posted explicitly still wins.
0.5.0
- Removed the decorative like / save / share buttons from the lightbox. They toggled a CSS class and nothing else — no storage, no server call — and reset on every video change, so they promised an action the site never performed.
- The procedure chip now links to that procedure's page and the doctor chip (avatar and
name) to the doctor's page. An
<a>with no href is left inert when a post has no URL.
0.4.0
- Filter bar redesigned: procedure filters and the doctor selector are one family of text pills with per-filter counts, replacing the icon circles with clamped labels. A results line under the bar updates live as filters change. Pills scroll as one row on mobile.
- Ingested reviews get "⚠ למלא…" placeholders for name and quote instead of caption fragments, so an unfinished draft cannot be published by accident.
0.3.0
procedure/doctornow filter the query server-side instead of hiding cards in JS, acceptcurrent/ID/slug/ig_tag, and hide the filter control they scope by.
0.2.0
- Auto-fill
ig_tagon newly published doctors and procedures, with a uniqueness guard.
0.1.0
- Initial build: light feed, circular procedure filters, doctor dropdown, immersive lightbox.