Pulsar — Documentation
Everything the theme does, in the order you will need it: install it, set it up screen by screen, then
look things up. Each section says what a setting is for before it says where to click.
What Pulsar is
A multipurpose WordPress theme, built around publishing.
Pulsar gives you a homepage you assemble from blocks, five hero layouts, five article card styles,
thirteen widgets, a settings panel with live previews, and a set of shortcodes for your articles. It needs
no page builder and no third party framework.
It started as a news and magazine theme, and it is not limited to that. Presets
set the whole thing up in one click — a news magazine, a motoring site, and more to come — and each one
is only a starting point: palette,
typography, hero, blocks and wording all stay editable afterwards. A site that is none of those starts
from the closest preset and changes what it needs, which is usually less than you would expect.
What decides whether a theme fits your subject
Not the demo it was photographed with, but what you can change: the colours, the font, how the homepage is
ordered, what a card shows, what the article page carries. All of that is in the panel, so the same theme
can be a recipe site, a car magazine, a company blog or a portfolio of reviews without a line of code.
Two things worth knowing before you start
- Out of the box, nothing is requested from anyone else. Fonts are bundled with the
theme and there are no CDN scripts. The one feature that can read from an outside server is Apple's
public app lookup, and a fresh install still makes no outside request: the app banner is on, so
that the block is there to look at, but the switch that reads from Apple —
Look the app up automatically — ships switched off, and the
[app] shortcode asks Apple nothing until somebody opens an article that uses it.
- Everything you set lives in your database. Updating the theme never overwrites your
settings, your posts or your menus.
1 · Installation
Ten minutes, three files. Do them in this order.
Inside the package you downloaded from ThemeForest you will find:
| File | What it is |
pulsar.zip | The theme. This is the file WordPress wants. |
pulsar-child.zip | The child theme. Optional, but see step 2. |
plugins/pulsar-core.zip | The Pulsar Core plugin. Recommended: it is what makes the shortcodes work. |
documentation/ | The pages you are reading. |
- Install the theme.
In WordPress go to Appearance → Themes → Add New → Upload Theme, choose
pulsar.zip and click Install Now. Do not unzip it first: WordPress expects the
zip.
- Install the child theme, then activate that one.
Upload
pulsar-child.zip the same way, and click Activate on the child, not on
Pulsar itself. Both need to be installed; only the child is active.
- Install the plugin.
Plugins → Add New → Upload Plugin, choose
pulsar-core.zip, install and activate.
Without it the shortcodes do not exist.
- Open the panel.
A Pulsar Theme entry now sits in the WordPress menu on the left. That is where everything in
this documentation happens.
If the upload fails with "the uploaded file exceeds…"
That is your hosting limiting the size of an upload, not a problem with the file. Either raise
upload_max_filesize in PHP, or upload the theme folder over FTP into
wp-content/themes/.
What activation changes
Activating Pulsar sets a few things up for you, so the site is not empty on the first load:
- It creates the menus Pulsar - Top bar, Pulsar - Header menu, Pulsar - Footer
links and Pulsar - Copyright links and assigns them, unless you already have a
menu in that position, in which case yours is left alone.
- It sets Settings → Media to the sizes the theme draws at (thumbnail 150 cropped, medium
432×243, medium_large off, large 1200).
Installing on a site that already has years of posts
Existing images do not have the sizes the theme asks for, so cards fall back to larger files and pages
get heavier. Run
Regenerate Thumbnails once — the
Performance screen
checks your library and tells you whether it is worth it.
2 · Child theme
Use it if you plan to touch any code. Skip it if you never will.
A child theme is a small theme that inherits everything from Pulsar and lets you override single pieces.
The reason it matters is simple: when Pulsar updates, every file inside it is replaced.
Anything you wrote in the parent theme is gone. Anything in the child survives.
What goes in the child
- Your own CSS, in
pulsar-child/style.css.
- Your own PHP snippets and filters, in
pulsar-child/functions.php.
- A copy of a template you want to change: copy the file from
pulsar/ into
pulsar-child/, keeping the same path, and edit the copy. WordPress will use yours.
This works for the page templates in templates/, for every piece under
partials/ — a card, a widget, a row of the homepage — and for a template placed in the
child's root instead of templates/: the child is always looked at first.
You do not need a child theme for colours, fonts, sizes or layout
All of that is in the panel, and the panel writes to the database, which updates never touch.
3 · The Pulsar Core plugin
The shortcodes live in a plugin on purpose, so they stay yours.
Shortcodes are content: they sit inside your articles. If they lived in the theme, changing theme one day
would leave [product …] printed as raw text in every article that used one. Because they are
a plugin, they keep working whatever theme you run.
The words your visitors read
The shortcodes print a few labels of their own — Read also, See the offer,
Download, the comment count. You can rewrite any of them in
Settings → Pulsar Core: to translate them into a language the plugin does not ship
with, or simply to say something else (Related, Buy it now). Leave a field empty and
the standard text is used, already translated into the bundled languages.
The product button has two of these labels, and the box picks between them on its own:
See the offer when the shortcode carries both a price and a full price, and Buy
when there is a single price with nothing to compare it against. Both are editable, and a
cta="…" written on the shortcode overrides whichever would apply.
Those settings live in the plugin, not in the Pulsar panel, which is the whole point: they follow the
shortcodes if you ever change theme. Fields marked with %s must keep it — it is where the
number or the shop name goes, and a text that lost it is refused rather than saved half broken.
The rest of the plugin's text — the shortcode names and descriptions you see while writing — is
translated the usual way, with the files in pulsar-core/languages/. The free
Loco Translate plugin does it from the browser without touching a file.
The plugin is bundled with the theme and installs like any other plugin. If you ever
delete it, the Shortcodes screen of the panel has an Install the plugin button that
fetches it again.
Keep it updated together with the theme
New shortcodes and fixes arrive with the plugin, not with the theme. When you update Pulsar, update
Pulsar Core too.
4 · Your first hour
If you only do these eight things, the site is presentable.
- Pick a preset. Pulsar Theme → Presets and appearance. It writes a full set of options —
palette, font, hero, homepage blocks — in one click, and everything stays editable afterwards.
- Import the demo content, but only on a brand new site. Same screen. On a site that
already has posts, skip it.
- Put your logo in. Header & logo, then the button that opens the
Customizer section. Four slots: normal, retina, dark, dark retina.
- Set the site icon (the little square in the browser tab), from the same screen.
- Check your colours. Colors & type. Type a hex code or pick one; the
preview on the right updates as you go.
- Build the homepage. Homepage: drag the blocks into the order you want,
switch off what you do not need, and configure each one.
- Build your menus. Appearance → Menus, or the shortcut on the
Header & logo screen.
- Decide about cookies. Privacy & cookies. The banner is off by default
because it is a legal decision, and it is yours.
5 · Presets and appearance
A whole configuration in one click, for a kind of publication.
A preset writes a full set of options at once: palette, font, hero layout, homepage block order and the
wording of each section. Everything stays editable afterwards — a preset is a starting point, not a mode
you are locked into.
| Preset | What it sets up |
| News magazine | Hero C with a sidebar, a two-column grid of ten articles, nine blocks. The default setup. |
| Cars & bikes | Hero C on a red to burgundy band, two columns, a carousel of buying guides and a reviews block. |
Details that belong to one preset
A preset can carry a detail of its own that is not worth a setting. Cars & bikes
recolours the logo the theme ships with, from blue to red, so the mark matches the band it sits on.
It only ever touches the bundled logo. The moment you set a logo of your own in
Header & logo, it is shown exactly as you uploaded it — your logo is already the colour you
chose, and it might be a photograph.
What a preset is responsible for
A preset is not just a palette: it is what the site looks like. Colours and type, yes, but also the
homepage blocks and their order, the hero, the cards and the settings of the single post. Everything
outside that — your logo, your ad codes, your SEO fields, your social addresses, and the free HTML block
you write at the end of your articles — belongs to the site and is never moved by a preset.
Every preset keeps its own settings
Change something on Homepage or Articles while a preset is on, and that change belongs
to that preset. Switch to another one and the site takes on its settings instead, not
yours; switch back and your choices are there again, exactly where you made them.
So the two are not in competition: you can set up one preset the way you want it, try the other, and
return without losing an afternoon's work. Applying the preset that is already on means
something different on purpose — it is how you ask for that preset as it comes, and it clears what you
had changed under it.
Options a preset does not mention go back to the theme default when you switch, rather than staying as
the previous preset's decision: that is what makes a preset look like itself.
Removing the demo content
Everything the import brings in is marked as its own, so taking it away is one button —
Remove the demo content, on the same screen — and not an afternoon of deleting posts by hand
and then hunting for the images they left in the media library.
It removes the posts and pages, the images and the files behind them, the categories, the menu
and the widgets the import added. Only what carries the import's mark is deleted, so the posts
you have written since are never at risk. The button appears only when there is demo content to remove:
on a site whose posts came from somewhere else there is nothing for the theme to claim, and nothing to
offer.
Undo, below, is a different thing. It puts back your settings, not your content: use
the button above for the demo posts and images.
Undo
The settings you had before you applied your very first preset are kept. Restore my previous
settings, at the bottom of the same screen, puts them back.
A preset never touches your content. It writes options only — no post is created, edited or
deleted — so you can try one on a site that has been running for years.
Appearance: light and dark
The theme is drawn in two appearances. The dark one is not a second stylesheet: it is a second set of
values for the same variables, and it takes the colours of your palette — the brand
raised in lightness so it reads on a dark page, its hue and its saturation left alone. Change your
brand colour and the dark appearance changes with it.
The same goes for the band behind the hero: the colour you pick there is brought down to a weight the
dark appearance can carry, keeping its hue, so a pale blue band becomes a deep blue one rather than
staying a bright stripe across a dark page. A gradient keeps its direction, and a colour already dark is
left as it is.
None of it is out of your hands. Colors & type carries a sun and a moon at the top: dress the
light appearance, flip the switch, and the same colours are there again for the dark one — background,
card surface, borders, text, brand, accent and the comment badge, each with the colour the theme worked
out already in the box, ready to be read or replaced. A dark colour follows the light one beside it
until you change it; once you do, it is yours and stays where you put it. The preview beside the fields
shows whichever appearance you are working on. The two hero colours work the same way.
- Appearance of the site — Light and Dark are what every visitor
gets, whatever their own device is set to. Follow the system, the default, hands that
decision to the device instead, which is what most sites do.
- Let visitors switch it from the header — on by default. It adds a button beside the
search: a moon on the light appearance, a sun on the dark one. The site still starts
from the appearance you chose; what a visitor picks with the button is then remembered in their
browser. Switch it off and the appearance you chose is the only one there is — the button is gone and
nothing can change it.
| Appearance | Switch | What a visitor sees |
| Follow the system | on | What their device asks for, until they press the button. |
| Light or Dark | on | The one you chose, whatever their device says — then theirs, if they press the button. |
| Light or Dark | off | The one you chose. There is no button and no way around it. |
| Follow the system | off | What their device asks for, and nothing else. |
Change the setting and everybody starts from it again
A visitor's own choice is kept — but only for as long as the site is set the way it was when they made
it. Switch the site to dark and every visitor gets dark on their next visit, including the ones who had
pressed the button before. Otherwise "the site is dark" would only mean "dark for whoever has never
touched it", which is not what the setting says.
The top bar and the footer are dark in both appearances — that is the design — so they do not change.
The header does: it is a white bar on the light appearance and a dark one here.
A second logo, for the dark header
A logo drawn in dark ink disappears on a dark header. Appearance → Site Identity takes a
Logo for dark mode, and a retina file for it; the theme shows whichever of the two belongs to
the appearance in use, and the browser only downloads that one. Leave it empty and the same logo is used
in both.
The appearance is decided before a single rule is read, in the head of the page, so the site
never flashes white on its way to being dark. A visitor with JavaScript switched off still gets the
dark appearance when their device asks for it.
6 · Demo content — the one click importer
For a WordPress that has no posts yet. One button, imported once, if at all.
On a brand new install there is nothing to configure the theme against: an empty homepage tells you
nothing about what a grid or a hero will look like. The demo content fills the site with sample posts,
categories, a page, menus and widgets so you can set the theme up on a homepage that behaves like a real
one.
- You get the articles of the demo site, not filler: the galleries, the cover blocks,
the tables, the review boxes, the shortcodes and the comments that make the "most commented" widget
show something. Fourteen articles, fourteen categories, the menus and the widgets — and a
full width page that shows every Gutenberg block the theme styles, one after the other.
- It is one set of content, not one per preset. Presets are previewed by their own
thumbnails; you do not need to import fourteen posts to see what a palette does.
- The posts and pages travel inside the theme; the photographs are downloaded when
you press the button — about 10 MB, once. Keeping fifty-five photographs in the zip would make every
theme update a 10 MB download for something most sites import once, if at all.
- Everything imported is tagged. Remove demo content deletes exactly what was
created — posts, pages, pictures, categories, comments — and never touches a post you wrote.
It needs a connection, once
The photographs come from our server, and that request is made only when you press the button — never on
activation, never on a schedule, never while a page is being served. If a photograph cannot be fetched,
the article is still imported: it arrives with its text and without that picture. The importer falls back
to articles it writes itself, covers drawn on the fly, only when the demo package inside the theme is
missing or unreadable — either way you end up with a site to configure the theme against.
If your site already has posts, you do not need this
The screen tells you so, with the number of posts you already have. Importing anyway is allowed — it is
your site — but you would then have fourteen sample posts to clean out of a real archive.
How the panel works
One screen, one subject. Nothing is applied until you save.
The panel lives under Pulsar Theme in the WordPress menu. The first page is an overview: one
card per screen, each with a line saying what it holds and a badge with its current state — how many ad
zones are on, whether the cookie banner is running, which preset was applied.
Three habits worth having
- The bar at the bottom. As soon as you change anything, a bar appears with
Save settings. Until you press it, nothing is live. Leaving the page loses the changes.
- The live preview. Several screens have a preview on the right with a green dot and
the word unsaved: it shows what you are doing before you commit to it. It renders with the
real stylesheets of the site, so it is not an illustration.
- Sliders have a reset. Hover a slider row and a small arrow appears next to the
number: it puts that value back to the theme's own.
Empty usually means "use the default"
Across the panel, clearing a field does not mean "show nothing" but "fall back to what the theme ships
with". Where empty really does hide something, the field says so.
Colors & type
The palette, the site font and every type size.
Colours
The theme is drawn in two appearances, light and dark, and the card sets one at a time. The switch at
the top says which one you are dressing; everything below it belongs to that appearance.
Each row is one colour. You can set it in two ways, and they are the same value:
- Type the hex code in the field — this is what gets saved.
- Click the swatch on the left to open your system colour picker.
The button at the end of a row takes it back to where it started. On the light appearance that is the
colour the theme ships with; on the dark one it is Auto, which hands the colour back to
the calculation from the light colour beside it. A dark colour keeps following its light counterpart
until you change it, and stays where you put it afterwards.
| Colour | Where it shows |
| Background | The page behind everything. |
| Surface | Cards, boxes and the sidebar. |
| Borders | Hairlines, card outlines, separators. |
| Headlines | Article titles, on the cards and at the top of a page. |
| Excerpts and byline | The text read second: card excerpts, author, date, comment count. Worked out from the headline colour until you set it. |
| Brand | Links, buttons, the category above a headline, the active menu item — the colour of the site. |
| Accent | The buy button and badge of a [product] box, the category on a cover story card, the breaking news label, a badge in [horizontal-menu]: what must not read as a link. |
| Comment background / Comment text | The comment badge on cards and articles. Both arrive worked out from the brand. |
The soft tints the theme uses behind badges and behind selected text are derived
from your brand colour, not fixed: change the brand and every tinted surface follows.
The colour of the hero band is not set here. It belongs to the band, and is set where the
band is: Homepage → Hero, next to the layout it paints.
Corners
How round everything is — cards, images, buttons, the hero band, the pill around a category — in one
setting for the whole site. Rounded is the theme as it is drawn, Slight
keeps a hint of it, and Squared takes every corner down to nothing, which is the look of
most motoring and sports mastheads.
Every radius in the theme is written as its own size times one number, so this changes all of them at
once and none of them individually: nothing is redrawn, and going back to Rounded gives you the
design exactly as it was. Shapes that are round by nature — the author avatars, the round buttons — use a
percentage and stay round whatever you choose.
The Cars & bikes preset comes squared, the featured image included.
Site font
Twelve bundled families plus System, which uses the reader's device font and loads nothing at all.
The bundled fonts are self-hosted: no request ever leaves your site. Custom lets you name any
family you are loading yourself.
The list covers four registers rather than one: the neutral sans-serifs — Inter, Geist, DM Sans, Nunito,
Open Sans, Lato — the geometric ones with more character — Poppins, Montserrat — the serifs, for a site
that wants to read as a magazine rather than as an app — Playfair Display for headlines,
Lora and Source Serif for text meant to be read at length — and one
condensed, Oswald, which is the shape a sports or motoring masthead usually takes.
The same list of families is asked twice, and a tab decides which of the two you are looking at.
Inner text is the family of the whole site: the text of the articles, the menus, the buttons, the
author lines, the widgets and the captions. Headings only is the headlines of the articles, the
section titles and the card titles — a serif over a sans is the oldest pairing a magazine has, and it
changes the character of a site more than any colour does. Left on Theme default the headings
follow the family of the site and the whole thing keeps one family, which is how the theme ships. Only the
families actually in use are fetched: a system body with a serif on the headings loads one file set, not
two.
The files are loaded so that the page is never repainted in a different family halfway through: the two
the page needs are preloaded in the head, and the faces are declared font-display: optional.
A family that arrives in time is drawn from the first paint; one that does not is left for the next page
view, by which point it is in the cache. Either way there is no flash of one font replaced by another and
nothing on the page moves — which is what the layout-shift figure of a performance report measures.
Type sizes
Sliders for body text, article text, headings and the card components. The two that matter most:
- Article — the size of the text inside a post. The theme steps down on phones; set
this slider and your value holds on every screen.
- Article title — the headline on the single post page.
Every size has a phone twin, behind the desktop / mobile switch. A phone slider left at zero means
as on desktop: the size is inherited and nothing is written. The one exception is
Bento · small posts, where the theme has a phone size of its own — 15px —
because on a phone those cards are stacked and the title has the width of the screen. Its slider says
as the theme (15px) at zero, and moving it replaces that value.
The same is true of the two sizes at the top of an article, on Single posts: the
headline is 22px on a phone and the subtitle
15px, on every style. A headline set for a wide column does not survive a screen four
inches across, so the theme sets them apart rather than scaling the desktop value down.
Search
Two ways to find an article, and they agree with each other.
Instant search
The magnifier in the header opens a box that answers while you type — or press
⌘K (Ctrl+K on Windows) from anywhere on the site. Each result carries a small
square thumbnail, so a piece can be recognised before its title is read.
From the keyboard: Esc closes and puts the focus back on the magnifier,
↑ and ↓ move through the results while the text cursor stays in the field
(Home and End jump to the first and the last), Tab moves between the
results without leaving the box, Enter opens the highlighted one. Typing a word and pressing Enter straight away goes to the full results
page instead.
The results page
The same query, with the cards you see everywhere else, the sidebar, and pagination — the page for
going through everything rather than picking the first thing that fits.
What both of them look at
Pulsar searches article titles, not the whole text, and asks for every word
you typed to be there. Results come out newest first, not by relevance.
A news site is read for what happened, not for how often a word appears. Searching the
body text would put a five-year-old piece that mentions the word in passing above today's article
about it. The instant box and the results page use the same rule, so the first suggestion is the same
article you find after pressing Enter.
On a very large archive
A search by title cannot use a database index, so the instant box keeps each answer for five minutes:
the same word typed by many visitors is one query, not hundreds.
Homepage
The homepage is a stack of blocks. You decide which ones, in what order, and how each behaves.
The screen has three tabs: Build your homepage, Customise the hero and
Customise the article cards.
Building it
- Add a block with the Add button, or switch off one you do not want.
- Drag it by the handle to change the order, or use the up and down arrows next to the handle — the same buttons the WordPress dashboard puts on its boxes, and the way to reorder without a mouse. A block moves within its own band, and the arrow greys out when there is nowhere left to go. The homepage renders in exactly this
order.
- Open Configure on a block to set its title, how many articles it shows,
which categories or tags it draws from, which card style it uses and whether it has a
Load more button.
Some blocks can be added more than once — two grids pointing at different categories,
for example. Each copy keeps its own settings.
The stories bar
The row of round covers at the very top, the shape a phone reader knows from Instagram: it scrolls
sideways with a finger and each cover opens its article. It has four settings of its own, in
Homepage:
| Setting | What it does |
| Where it shows | Phones, desktop, or both. Phones only to begin with, which is where the shape comes from. |
| Category and tag | Which articles fill it. Left empty, the most recent ones. |
| How many | Eight by default. |
Hidden on a device, it costs nothing at all: the block returns before it queries anything, so
no markup and no database work — which is what makes it safe to leave on a site served through a page
cache that splits by device.
The blocks
| Block | What it is | Where it sits |
| Stories | Round covers in a row, like a story bar. | Top band, full width |
| Hero | The opening block. Five layouts — see below. | Top band, full width |
| Categories | A row of category cards. | Top band, full width |
| Post grid | A grid of cards, one to six columns, with optional filter chips. | Main column |
| Compact list | A vertical list with small side thumbnails: a title, a date, and nothing else. | Main column |
| Post carousel | Cards that scroll sideways, with arrows and drag. | Main column |
| Post bento | One big card plus smaller ones, in up to three columns. | Main column |
| Timeline | Articles down a dated line. In Configure it can skip the articles the blocks above it have already published — on by default — so the same piece does not appear twice on the page; switch that off and it draws from the whole archive regardless. | Main column |
| Post list | The row card the archives use: the picture on the left, and on the right the
headline at reading size with the opening of the piece under it. Where the compact list gives a title and
a date, this one gives enough to decide by, so it suits a band of five articles rather than fifteen.
In Configure, Draw the list on a card decides whether the rows stand on a card of
their own — on by default — or straight on the page. The corners of that card follow the style of the
site like every other card. | Main column |
| Extended timeline | The same rows, hanging off a dated rule, with the day written once for
however many articles it holds. The reading version of the Timeline above, with the same choice of
standing on a card or on the page. | Main column |
| App banner | A promo for an iOS app, with live data from the App Store. | Bottom band, full width |
| Newsletter | A sign-up box that hosts your newsletter plugin's form. | Bottom band, full width |
The blocks in the main column sit next to the homepage sidebar; the ones in the top and
bottom bands run the full width of the page. That is why the order you can give them is not entirely
free: a full width block cannot appear in the middle of a column.
There are two column bands, each with a sidebar of its own — Sidebar Homepage and
Homepage · second sidebar — so the same widget is never shown twice on one page. Which sidebar
a band shows is the first row of that band in Homepage: a fixed row, above the blocks, with a
picker listing every sidebar on the site, each with the number of widgets in it. Out of the box the first
band shows the first sidebar and the second band the second; swapping them is one click, and
None turns that band into a full width one.
A column band always reserves the room for its sidebar, whether or not there are widgets in it: the
column keeps the same width as the other band, and an empty strip is the sign that the sidebar is
waiting to be filled from Appearance → Widgets.
Order
Every block that draws its own articles carries an Order control in Configure:
Newest, Oldest or Random. It applies to grid, list, carousel, bento and
timeline, on its own or together with a category or tag filter.
Random reshuffles on every page load, so a block set that way is never cached: use it on one
block, not on all of them. The bento adds an Order, block 2 and Order, block 3, each
with an extra Inherit value that follows the order set on the first column.
A second title for phones
Beside the desktop title and subtitle, Configure holds a second pair for the phone.
Leave them empty — the placeholder says same as desktop — and the desktop text is used on
every screen. Fill one in and a long heading can become a short one where the column is narrow.
Both versions are printed and the screen chooses between them in CSS, never by guessing the device,
so the pair works behind a page cache that serves the same HTML to everybody.
Filter chips on the grid
The grid can show a row of chips that filter it without reloading the page. Each row is a category
chosen from a searchable list, plus the label you want on the chip — leave the label empty and it uses
the category name, so renaming the category renames the chip. On a site that already has posts, the
three categories with the most articles are proposed until you save the field for the first time.
Load more
Grid, list, bento and timeline can each end with a Load more button that fetches the next batch
without a page reload. You set how many articles per click. On the bento, one button widens all the
columns together and no column ever repeats an article another has already shown.
Hero layouts
Five ways to open the homepage. Pick one in Homepage → Customise the hero.
| Layout | What it looks like | Good for |
| A | One large card with two stacked cards beside it. | A clear lead story. |
| B | One large card with a compact list beside it. | A blog, where the list is the archive. |
| C | A carousel of cards with a sidebar next to it. | News sites: most stories above the fold. |
| D | Layout C on a dark band, with room for a video and two buttons. | Launches, campaigns, tech. |
| E | A large media panel with a headline, buttons and an optional carousel. | Features and travel, where the picture leads. |
The social buttons of layouts B and C
Both these layouts carry a side column, and in it a row of buttons for your social channels. A switch
decides whether the row is drawn at all, and a list of tick boxes decides which networks it shows:
Facebook, X, Instagram, YouTube, TikTok and Threads are ticked to begin with, Telegram
and WhatsApp are there to be added, and any of the six can be taken away. They appear in the order of
the list, which the two arrows on each card reorder — the same buttons work with the mouse and from
the keyboard.
The two layouts keep their own choice, so the row can look one way in B and another in C. The address of
each profile and its follower figure are set once, in Social & Promo: a network
with no address still shows its button, pointing at the network's own home page and without a number —
the theme never invents a follower count.
Settings common to all five
- Background — flat or gradient, set here or in Colors & type.
- How many articles the hero draws.
- Which articles — include or exclude categories and tags, by ID or by slug.
A filter that matches nothing falls back to the most recent posts, so a fresh install never opens
with an empty hero.
Featured articles
Out of the box the hero looks for the tag featured. Tag a post with it and it goes to the
top; clear the field and the hero simply shows the latest posts.
Layouts D and E
Both have two call-to-action buttons and a media slot. Two rules worth knowing: a button is drawn as
soon as it has a label, so you can see it while you configure it, but it only becomes a real link when
it also has an address. And if you leave the media empty, the theme draws its own placeholder rather
than an empty box or a broken image.
Article cards
Nine card styles. Each block chooses one; you decide what each style shows.
Open Homepage → Customise the article cards. For every style there is a live preview built from
your real posts, and a set of switches. The card Where each card is used tells you which blocks
use which style.
| Style | What it is |
| Standard | Cover on top, text below. The card most of the site is made of. |
| Hero | The large card of the hero block. |
| Cover story | Text laid over the picture, for a full-bleed card. |
| Side | Thumbnail on the left, text on the right. Used by lists. |
| Compact | Small and dense, for sidebars and tight columns. |
| List | The row: picture on the left, headline at reading size and the opening of the piece on
the right. Used by the Post list block and by the list layout of the archives. |
| Extended timeline | The same row, hanging off a dated rule. It starts from the answers given
to the List style and keeps its own from there, so a homepage carrying both can show the author in one
and not in the other. |
| Timeline | One entry of the compact timeline: the hour, the title, and — if you ask for them
— a thumbnail and the category. |
| Bento | Not a card but a block made of two: the big one is Hero, the small ones are Compact.
Only its own text sizes are set here. |
What you can switch per style
- Where the category sits on the picture — bottom left or top left — on the styles that draw it there
- Category, and whether it has a background behind it
- Author name, author avatar (desktop and mobile separately)
- Date, and its format — condensed (19 Apr 2026) or extended (19 April 2026)
- Comment count, and whether the word "comments" is written out
- Excerpt
Review scores appear on their own
If an article has the review box switched on, its score shows in the corner of the card wherever that
article appears. You do not have to choose a special card for it.
A play badge on video articles
Set the post's
Format to
Video and every card for that article carries a small play
symbol over the picture, on all five card styles. You will find
Format at the top of the
Pulsar — article options box, under the editor, beside the subtitle and the featured video;
it is the same setting WordPress keeps in the sidebar, put where its effects are. It is a label, not a
player — it says "this one is a video" wherever the article is listed. To have the picture itself move,
use the featured video instead: see
Articles.
Single post
Everything on the page of one article, in the order it appears.
The screen is a numbered list of blocks, top to bottom, so it reads like the page itself: breadcrumbs,
category, title and subtitle, sharing, meta line, featured image, content, tags, author box,
previous/next, related articles, comments.
Article layout
The first card of the screen chooses how the page of an article is arranged. An arrangement decides
where the pieces sit and what they stand on; it never decides what the page carries.
That is what the switches under it are for, and they hold whichever arrangement you choose.
| Arrangement | What it is |
| Standard | The article and the sidebar as two cards on the colour of the site. What the theme ships with. |
| Plain | No cards: the article, the comments and the widgets stand on the page itself, with no ground, border or corners of their own, and a single rule down the gutter separates the article from the sidebar. This arrangement alone offers Picture above the headline, which lets the featured image open the page, with the category, the title and the author line under it. |
| Wide headline | The plain arrangement with the category, the title, the standfirst and the author line drawn across the page above the two columns, so the headline is as wide as the site rather than as wide as the article's column. The share buttons stand at the far end of the author line, as marks alone with no name and no ground. |
| Editorial | The featured image at the width of the site and the text narrower than the picture, with the share column standing at the picture's left edge from about 1200px — not the 1500px the other arrangements need, since here the column stands in the room the narrower text leaves rather than in the page's margin. The block that opens the article — category, title, standfirst, author line and share buttons — is centred, and Centred opening block turns that off to range it left; everything below the text is the same either way. Choosing the arrangement sets the category background to Filled, which is what holds that line together when the word stands alone on the middle of the page; it stays an ordinary setting. There is no sidebar in this arrangement: the sidebar switch is taken off the screen while it is chosen, and an article set to it from its own options is drawn without one. |
| Cover | The featured image across the width of the page, with the category, the title, the standfirst and the author line written on it; the article and the sidebar follow underneath. The picture is not drawn a second time above the text, and its caption is not written under the cover. Choosing this arrangement turns the breadcrumbs on if they were off, since with the title on the picture the trail is what tells the reader where they are; it stays an ordinary switch. An article with no featured image keeps its headline above the text, as in the other arrangements. On a phone the headline comes out from under the picture and the page reads like the standard arrangement: a picture that narrow cannot carry a title over it and still be seen. |
The arrangement chosen here is the site's. One article can be given an arrangement of its own
in the Pulsar — article options box under the editor: its Layout field starts on
As set in the theme panel, and left there the article follows the site — including when the
site's choice changes later. Choosing an arrangement there changes that article and no other.
The same card carries the sidebar switch. With it off the sidebar is not rendered at all,
in either arrangement, and the article takes the full width of the site, narrowing with the window as
every other page does.
The settings you will actually use
| Setting | What it does |
| Breadcrumbs | The Home / Category trail above the headline. Off by default. Search engines get the structured data either way, so switching it off costs nothing in search. |
| Category background | Three states: None (the word in the brand colour), Tinted (a soft pill), Filled (brand colour, white text). |
| Subtitle | A line under the headline. You write it on the post itself, in the Pulsar — article options box, under the editor. |
| Sponsor | Set on the post, in the same box: a logo, and optionally an address for it to link to. The logo is drawn 20px tall and up to 160px wide, so a mark wider than it is tall suits the line best; supplied at twice that size it stays sharp on a high resolution screen. With a logo there, the author line reads Sponsored by and shows the mark in place of the author's name and picture — the rest of the line, the date, the reading time and the comments, is unchanged. The link is marked rel="nofollow sponsored", which is what search engines expect of a paid placement. Leave the logo empty for an ordinary article. |
| Date format | Extended, condensed, or whatever Settings → General says. |
| Reading time | An estimate from the length of the article. |
| Featured image | Show or hide it, set its corner radius and an optional shadow. |
| Related articles | On or off, and how many per row on desktop, tablet and phone. |
| Comments | Off here means the section is not drawn at all, even where WordPress has comments open. |
Sharing
An article can be offered to the reader in three places, each with a switch of its own. They are plain
links: nothing is loaded from anyone else, no script, no counter, no cookie.
| Place | What it is |
| A bar under the headline | Buttons sharing the width of the column, above the rule that carries the author and the date. On a wide screen each carries the name of its destination, on a phone the mark alone. It shows the first six of the list — beyond that a button is too narrow for a thumb. Off until you turn it on. |
| The row under the article | At the end of the piece, the destination written out beside its mark. On from the start, with the five it has always carried: it is the one place with nothing to set. |
| A column beside the article | In the margin to the left of the text, following the reader down the page. It needs a window about 1500px wide and is left out below that, where there is no margin to put it in. Off until you turn it on. |
The bar and the column are set separately, each under its own switch and shown only
while that switch is on. Both choose a fill — the colour of the destination behind a
white mark, or that mark in colour on the page — and both choose which destinations
they carry, from Facebook, X, WhatsApp, Telegram, LinkedIn, Pinterest, email and a copy button, ticked
and reordered like the social profiles. A short row above the piece and the whole list down its side is
a perfectly reasonable pair of answers.
The column also chooses a shape, round or square, because there each button is a mark
on its own. The bar does not: it is a row of buttons and takes the corners set for the whole site under
Style, like every other button of the theme.
Pinterest is left out of an article with no featured image, which is the picture it would pin.
The button over the featured image is a different thing and has its own switch: it opens the sharing
panel of the device itself, and where the browser has none it copies the address instead.
Your own block at the end
A space at the foot of every article that holds whatever you write into it: a referral offer, a
newsletter form, a disclosure, a banner of your own — whatever the theme does not already provide. You
will find it in Articles → Your own block at the end.
It is off unless you ask for it, and an empty one is not rendered at all: a switch left
on with nothing in it would otherwise leave a gap under every article. Your markup goes into the page as
you wrote it, so it can carry classes of your own and be styled from the child theme; it sits after the
article and before the buttons at the end.
What you write there belongs to the site, not to the preset in use: switching preset never takes it
away.
Images that open in a viewer
Click an image inside an article and it opens full size, over the page, with a dark backdrop and a
close button — Escape works too. This covers the images you drop into the editor, which since
WordPress 5 carry no link of their own, as well as any image you have linked to its own file.
The viewer always shows the largest size WordPress has made of that image, not the one
scaled down for the column, so the detail is really there when the reader looks closer.
Left alone, on purpose: an image inside a link that points somewhere else (that link is meant to be
followed), the pictures that belong to the theme's own blocks — product shots, card thumbnails, video
posters, cover backgrounds — and anything drawn smaller than 140 px, which is an icon rather than a
photograph. To exclude one image of your own, give it the class pls-no-lightbox.
The viewer works without a mouse: an image that can be opened is a tab stop, Enter or Space opens it,
Tab stays inside the viewer while it is open and Esc closes it, returning the focus to the image.
The pill under the featured image
Between the image and the text Pulsar can show a single call to action: Add
<your site> as a preferred source on Google. A reader who does that sees your articles more
often in Top Stories and in Google's AI answers. It is on by default and lives in
Articles → Bar under the image.
Clicking it adds the source without leaving the article — the reader stays where they
were reading, and Google shows its own short confirmation. That is done with the module Google
publishes for the purpose, not with Google's ready-made button: the pill is the theme's, in the theme's
colours, and there is no third-party script in your pages.
When Google is contacted. Never while an article is being read. The module is fetched
the first time a reader moves onto the pill — hover, touch or keyboard focus — which is a deliberate
move towards it. With a mouse the pointer has to rest on it for a moment first (180ms): the pill sits
where the pointer travels on its way down to the text, and a passing sweep should not cost a reader a
download. Pages without the pill never load it at all.
If it cannot load — an old browser, a strict Content Security Policy, no connection —
nothing breaks. The pill is a real link to Google's own page for the same purpose, and the click simply
follows it, in a new tab, as any link would.
Two things worth knowing, both of them Google's doing. Only domains and subdomains can be preferred
sources, not subdirectories: a site living at example.com/news/ is not eligible. And Google
offers no way to know whether a reader has already added you, so the pill cannot show an
“already added” state.
To keep the pill but never load the module, return false from the
pulsar_google_preferred_inline filter; the pill then behaves as a plain link. To remove it
altogether, switch it off in Articles.
The featured video
An article can open with a video instead of a still picture. You set it on the post, in the Pulsar — article options box
beside the editor: paste the address of an .mp4 or .webm file, or a YouTube
link, or press Choose from library to pick a video you have already uploaded.
Two switches sit next to the field. Loop makes it start again when it ends. Autoplay in
cards lets the same video play inside the cards that list the article, on the homepage and in the
archives; with it off the cards keep the still picture and the video plays only inside the article.
The featured image is still what gets drawn first, everywhere: the page paints with the picture and the
video is swapped in once it is ready, so a slow connection sees the article rather than an empty frame.
For the same reason the player script is only loaded on pages where a video actually is, and an article
with no featured image cannot show a featured video — the picture is what stands in for it.
A YouTube video waits to be asked. Playing one means fetching YouTube's player from
www.youtube.com, and that request carries whatever Google cookies the reader's browser
already holds — so the theme does not make it on its own. The cover keeps the featured image and shows
a play button; the video starts when the reader presses it, or straight away if your consent banner is
on and the reader has granted Experience, the purpose that covers content from other
platforms. A video hosted on your own site is not affected: it contacts nobody and plays as before.
If the question is settled elsewhere on your site — your own consent plugin, or an audience this does
not apply to — one line in the child theme removes the wait:
add_filter('pulsar_youtube_click_to_play', '__return_false');
Posts from X, as cards
With this on, an address of a post on X alone on its own line is drawn as a card of your
site — author, text, pictures, the quoted post. An address written inside a sentence stays the link you
wrote. It is off until you turn it on, in Shortcodes & Reviews.
No script from X is loaded, no iframe, nothing that follows your readers. The post is read once,
in the background, when you save the article — never while somebody is waiting for the page —
and its text and pictures are copied to your site. The card therefore keeps working the day the original
is deleted or made private, and your reader never asks X for anything.
A box in the editor, beside the article, lists the X posts it quotes and says when each was saved. Its
Refresh button reads one again and replaces the stored copy: for a post that has been
edited since, or one that failed to arrive the first time. It is the only moment that screen talks to the
outside.
It uses an outside service, once per post
The data comes from fxtwitter.com, a public service that answers with the post as data:
no account, no key. Your site asks it when you save an article, not when a reader opens one. If it stops
answering, the cards already saved carry on — only new ones stop appearing.
The review box
Every post can carry a review: a score out of ten, a set of criteria with their own scores, a verdict
with a line of text, and lists of pros and cons. You fill it in on the post, in the Review box. Each
criterion is drawn as a bar, and the number beside it reads either out of ten or as a percentage —
that is the one choice. The overall score is what shows on the cards.
A site that never reviews anything can put the whole thing away: Shortcodes & Reviews →
The review box → Let articles carry a review. Switched off, the fields leave the article
editor, the box is not drawn and no score appears on the cards. Nothing is deleted: what was
already written comes back the day it is switched on again.
The box comes from the Pulsar Core plugin, like the shortcodes and for the same reason:
a score and a verdict are something you wrote, and what you write has to stay on your articles whatever
theme comes next. The theme draws the box; the plugin owns the data. Switch the plugin off and the
reviews are still there — they are simply not drawn — and nothing on the site breaks.
Ad block notice
A message to readers who are blocking the ads. Off unless you turn it on.
At the foot of the Ads screen. With it on, the theme looks for an ad blocker and — only when it
finds one — shows a message you write: a title, a paragraph, and up to two buttons of your own, each with
its label and address.
| Setting | What it does |
| Show the notice | Off, nothing is printed and neither the script nor the stylesheet is loaded. |
| Title and message | Your words. Left empty, the theme's own are used. |
| Buttons | Up to two — a page explaining why the site carries ads, your app, a way to get in touch. Shown only when they have both a label and an address. |
| Let the reader close it | Adds a discreet link that dismisses the notice. Off — which is how it ships — there is no way past it. Turn it on unless barring the reader is what you mean to do. |
| Never to signed in readers | Off, so the notice reaches everyone. On, it is kept from readers who have signed in — the ones who come back, and the ones a membership plugin of yours may already treat differently. |
| Pages to leave alone | One path per line. Any page the notice itself sends readers to has to stay clear of it. |
Detection is never certain
The theme reads three signals — an element every filter list hides, whether the ad script can be reached,
and the global it leaves behind — and shows the notice when any one of them says a blocker is at work.
That catches more readers, and on rare occasions one who has no blocker at all: the reason to turn
Let the reader close it on. Search engines and site speed tools are skipped entirely.
Pages
Static pages, category and tag lists, and search results.
Three kinds of page that are neither the front page nor an article, set apart because they are read
apart: somebody arriving on a category is looking for more of the same, somebody who has searched is
looking for one thing. Each keeps its own answers.
| Setting | What it does |
| Static pages | Featured image at the top, and the sidebar. A single page can still decide otherwise on its own, in Pulsar — page options under the editor. |
| Category and tag lists | The card — Standard, a tile with the picture above the title, List, one article to a line with a large picture beside the headline and the opening of the piece under it, or Timeline, those rows hanging off a dated rule, the date written once for each day however many articles it holds and the month once where it changes — how many fit across (asked for the standard card alone, since a list is one to a line), the article count beside the name, the category description, how the rest of the list is reached — a Load more button that adds the next batch under the ones already there, which is what the theme ships, or numbered pages — and the sidebar. A preview of a real category stands beside the settings and follows them as you go. |
| Search results | The same two cards plus a third, Timeline: a single column by the hour each article was published, the same list the front page can carry. Three across by default, the same choice between the button and numbered pages, and the sidebar. Set apart from the lists: a search is a question, and its answers are read one by one. |
Defaults for every page, and an override on each one.
This screen sets what pages do in general: whether they show the sidebar, whether the featured image is
printed, and the style of the title. Then, on any single page, the Pulsar box lets you decide otherwise
for that page alone — a landing page with no sidebar, for instance, while every other page keeps it.
| Option | Values |
| Layout | Auto · Force the sidebar · Full width |
| Title style | Standard · Light hero bar · Dark hero bar · Hidden |
| Featured image | Default · Show · Hide |
Social & Promo
Your profiles, the app banner and the newsletter box.
Social profiles
One address per network. A network with no address of yours still shows, but it points at the network's
own home page and shows no follower count — the theme never invents numbers.
Button style
How your social buttons are drawn, everywhere the theme draws them — the row beside the hero in layouts B
and C, and the Social widget. Two examples under the choice show what each one looks like.
- Minimal — the theme's own button: a light surface, the mark in the colour of the
network, the follower figure beside it. This is what a fresh install starts with.
- Flat — the button filled with the colour of the network, its mark in white on a
darker square at the leading edge and the follower figure at the far end. Every network is filled with
a gradient: its own colour deepening towards the end the figure sits on, and for Instagram the four
stops its mark is drawn with. The three whose mark is black carry a colour instead — a button filled
with black would be a hole in the page — with X keeping the dark grey of the three.
Buttons per row decides whether they stand two side by side, which is what a fresh
install does, or one across the width of the column they are in.
App banner
A promo block for an iOS app: icon, name, slogan, App Store button, rating and review count, with two
phones drawn in CSS. It is on by default so the block is there to look at, with grey
placeholders in place of the icon and the screenshots until you provide your own. Nothing leaves your
server on its own: the switch that reads from Apple ships off.
- Paste the App Store address of your app. Without it everything is drawn except the
button, which would lead nowhere.
- Switch on Look the app up automatically to have the icon, the rating and the
number of ratings read from Apple's public iTunes lookup — as soon as the address is written, and once
a week afterwards, never while a visitor is loading the page.
- Or leave it off and fill those three in yourself: with the lookup off the banner shows
exactly what you write.
- Add the two screenshots, portrait, around 588×1280. A phone with no picture keeps its
shape and shows a light grey screen.
- Switch the block off in Use the app banner if your site has no app.
Newsletter
The theme draws the box; a plugin collects the addresses. That division is deliberate: collecting an
email means storing personal data, sending confirmations and honouring unsubscribes, and that has to
survive a change of theme.
- Install a newsletter plugin. The screen recognises MC4WP, Newsletter, MailPoet, Brevo
and FluentCRM and tells you which are installed, but any plugin works.
- Paste its shortcode into Form shortcode.
- Write the wording — eyebrow, title, text, small print.
Until a shortcode is in place the block is not shown to visitors at all: a sign-up box that collects
nothing is worse than no box. As an administrator you still see a line explaining why.
Ads
Six zones in the panel — three of them inline in the article — plus a widget for the sidebar. Each one arrives switched off.
The theme carries no ad markup of its own: a zone renders exactly what you paste, and if
the field is empty nothing is printed — no container, no "Advertisement" label, no reserved height.
| Zone | Where it appears |
| Home · above the grid | Between the hero and the homepage grid. |
| Home · in-feed | As a card between the articles of the grid. |
| Article · above the headline | At the very top, before the category and the title. |
| Article · top | Right after the first paragraph. |
| Article · middle | After the fourth paragraph, when the piece is long enough. |
| Article · bottom | At the end of the content. |
| Sidebar | Not a zone of the panel: the Pulsar: Ad slot widget. |
With AdSense
Put your publisher ID (ca-pub-…) in Integrations and the theme
injects the loader once, in the right place. You can then paste just the <ins> block
into a zone. Slots are only requested when they have a width and are near the viewport, and a slot the
network does not fill collapses instead of leaving an empty labelled box.
SEO
Enough on its own; silent if you use a plugin.
Pulsar emits meta description, Open Graph and Twitter cards, robots directives, canonical links and
JSON-LD structured data for articles, breadcrumbs and your organisation. If Yoast, Rank Math,
SEOPress or All in One SEO is active, the theme steps aside and lets the plugin do it — there is
nothing to configure to make that happen.
What to fill in
- Organisation name and logo — used in the structured data of every page.
- Country and what the site is about — both optional, and both left empty on purpose:
a country you did not choose would be wrong on every site but one.
- Official social profiles — the
sameAs list that ties your accounts to
your site.
- Editorial policy pages — for Google News, if you have them.
The canonical link is emitted where WordPress does not do it itself, and page two of an
archive is canonical to itself, never to page one: they hold different articles, and pointing them at the
same address asks Google to ignore everything after the first page.
What the theme talks to
Every server this theme can reach, when, and whether you asked for it.
A fresh install talks to nothing. Every request below is made by a feature that is either
off until you turn it on, or one you started by pressing a button. None of them happens while a visitor is
reading a page, except the ones you configure yourself — your ad network, your analytics.
| Where | What for | When |
api.fxtwitter.com | Reading a post from X quoted in an article, so it can be drawn as a card. | Only with Posts from X on. Once per post, when you save the article or press Refresh — never while a reader waits. |
itunes.apple.com | The name, icon and rating of an app, for the [app] shortcode and the app banner. | Only where you use them. The answer is cached, so it is asked once, not once per reader. |
www.ispazio.net | The photographs of the demo content; and registering your copy of the theme. | Only if you choose to import the demo articles — useful when you are starting a site from nothing — and when you register. Registration is optional and gates nothing. |
pagead2.googlesyndication.com | Checking whether the ad script can be reached, for the ad block notice. | Only with the notice on, in the reader's browser. Nothing is sent: the request is made to see whether it fails. |
What you add yourself is yours
AdSense, Analytics, Tag Manager, a YouTube video, a font from Google: these reach the reader because you
put them there, and the theme neither adds nor removes them. The consent banner in Privacy &
cookies is what governs them.
Every one of them can be pointed elsewhere or switched off
The addresses go through filters — pulsar_registration_endpoint,
pulsar_demo_media_url — and the features that use them have switches. A theme that phones home
should be a theme you can stop.
Privacy & cookies — GDPR consent
A GDPR consent banner built into the theme. Off by default, because it is a legal decision.
When you switch it on, visitors get a banner and a preferences panel with four purposes — functionality,
experience, measurement, marketing — plus the strictly necessary ones, which cannot be switched off.
Consent Mode v2 starts with everything denied and is updated with the reader's choice, which is stored
in a cookie for 180 days. Nothing is sent anywhere: it is a consent manager, not a service.
Ads are never held back
Until the reader chooses, ads are served non-personalised rather than paused, and the slot still
fills. Non-personalised means Google does not use the reader's profile to choose the ad — not that nothing
is exchanged: Google still receives the address of the page and the IP address, and can still set technical
cookies for frequency capping, reporting and fraud prevention. A request held back often never restarts,
and an ad that earns less is still worth more than a hole in the page.
One limit, stated plainly
For Google ads shown in the EEA, the UK and Switzerland, Google requires a consent management platform
certified by Google and built on the IAB TCF. This banner is not one. Without a certified CMP,
ads simply do not serve in those regions. If that is your traffic, use a certified CMP and leave this
banner off. This is a summary written by developers, not legal advice.
Integrations
Google Analytics 4 and AdSense, and nothing else.
| Field | Where to find it |
GA4 measurement ID (G-…) | Google Analytics → Admin → Data streams → your stream. |
AdSense publisher ID (ca-pub-…) | AdSense → Account → Account information. |
- Consent Mode v2 — switch on if you serve European traffic; it is what makes a consent
banner actually work.
- Anonymise IP — sends
anonymize_ip with the tag. A GA4 property already
truncates the address on collection and ignores it; it is the setting that matters if you point the
field at a legacy Universal Analytics property instead.
Everything on this screen sends data to somebody else. Nothing is active until you fill a
field in: with the measurement ID empty the theme prints no Analytics tag at all. Fill it in and the
tag goes out in <head>, after the consent banner has had its say.
Shortcodes
Eleven blocks for your articles and pages, provided by the Pulsar Core plugin.
The Shortcodes (plugin) screen of the panel — named that way because the shortcodes come from the Pulsar Core plugin, not from the theme — lists them all, each with its own switch, a copyable example
and a live preview in desktop and mobile width. There is also a master switch: with it off, no shortcode
is drawn and its stylesheet is never sent.
Pictures are requested at the size they are drawn
Paste the address of an image from your media library and the plugin works back to the attachment and
picks the smallest generated size that covers the slot — at double the CSS size, because screens are
retina. A 308 KB original becomes a 4 KB icon. An address from another site is left exactly as it is.
[app]
The only block that reads from outside your site
Apple's public app lookup, for the name, the icon and the price. It is on, because a card an author
wrote should draw — and being on costs nothing: Apple is asked only when somebody opens an article that
actually uses this shortcode. Every other page of your site, and a site with no such article, calls
nobody. What comes back is kept for a week and the icon is copied into your own uploads folder. Switch
it off in Shortcodes, on its own card, if you would rather it never happened.
A card for an iOS app: icon, name, developer and a button. With just an ID it reads name, developer,
price and icon from Apple's public lookup and caches them for a week.
[app id="331441694"]
The ID is the number in the App Store address. You can override anything by writing it:
name, developer, price, icon_url,
rating, ratings, link.
[product]
A product box: picture, title, price, previous price, a badge and a button. No API, no keys, nothing
updates on its own — it shows what you write, which is also what affiliate programmes ask of a stated
price.
[product img="https://example.com/photo.jpg" title="In-ear headphones with active noise cancelling"
price="199,00 €" full_price="249,00 €" badge="Lowest ever" link="https://example.com/offer"]
A short description of the product, between the tags.
[/product]
The discount is worked out for you from the two prices — you do not write the
percentage. Both 1.299,99 and 1,299.99 are understood. The link is marked
sponsored.
[read] and [read-also]
The same block in two modes. [read] takes post IDs and builds the card from the post
itself; [read-also] is the manual version, for an article somewhere else.
[read]2261096[/read]
[read]2261096, 2261094[/read]
[read-also title="An article on an external site" subtitle="An optional description of the link"
img="https://example.com/photo.jpg" link="https://example.com/article"]
Which shape you get depends on the tag, not on how many IDs you write:
| Written | What you get |
[read], one ID | The full band: large picture, title, description. |
[read], several IDs | The same full band, repeated once per article. |
[read-also], one ID | The full band — a list of one is not a list. |
[read-also], several IDs | The compact list: smaller thumbnails, no description. |
So use [read] when each article deserves its own space, and [read-also] when
they are a row of related links at the end of a paragraph.
[section-title]
[section-title]Our verdict on the product[/section-title]
[button] and [menu-button]
A full-width row that acts as a link, with an icon or a picture. [menu-button] is the same
thing without the frame, for a list of links.
[button label="Guide" title="How to set it up" subtitle="In ten minutes"
icon="https://example.com/icon.svg" link="https://example.com/guide"
mobile="Short line shown on phones"]
The longer description, between the tags.
[/button]
[tabnav]
A row of tabs. The entries are an attribute, separated by commas, and current counts
from zero.
[tabnav titles="Introduction, The test, The numbers, The verdict" current="0"]
The tabs become links when you add link, one address per entry, in the same order and
separated by commas the same way; target="_blank" then opens them in a new tab. With
images each tab takes a small picture beside its words, again one per entry.
style chooses the look: light (the default), dark,
flat-light or flat-dark. Wrapping a title in double braces prints it in bold
— {{The verdict}}.
[tabnav titles="Introduction, The test, {{The verdict}}"
link="/intro, /test, /verdict"
images="https://example.com/a.svg, https://example.com/b.svg, https://example.com/c.svg"
style="dark" current="2" target="_blank"]
[horizontal-menu]
A row of small cards that scrolls sideways, fading at the right edge so it is clear it continues.
[horizontal-menu name1="Phones" link1="/phones" img1="https://example.com/1.svg"
name2="Tablets" link2="/tablets" img2="https://example.com/2.svg"]
Up to ten items. The picture is img1, img2 and so on; image1 is
accepted too. Add new1="New" to put a badge on an item.
[video]
A video player with a still. The source goes between the tags, not in an attribute.
The still is img; poster is accepted too. Give it name and
description as well and the video is described to search engines.
A video that speaks should carry its subtitles: captions takes the address of a WebVTT
file and the player offers them. captions_lang says which language they are in (the
site's own if you leave it out) and captions_label what the menu calls them.
[video img="https://example.com/poster.jpg" controls="yes"
captions="https://example.com/subtitles.vtt" captions_lang="en"]
https://example.com/video.mp4
[/video]
[video img="https://example.com/poster.jpg" name="The title" controls="yes"]
https://example.com/video.mp4
[/video]
[timed-content]
Content that stays hidden until a moment you choose — anything can go inside: text, a picture, a video,
an iframe, a live blog. The time zone goes at the end of the date, in database form.
[timed-content show="2026-06-08 16:00 Europe/Rome"]
Whatever appears at that moment.
[/timed-content]
With no time zone written, the site's own is used.
Language
The language of the panel, and translation import and export.
Pulsar ships in English and Italian. This screen sets the language of
the panel only — the site itself follows WordPress, which is what you want: keeping the panel in
your language should not put the whole site in it.
- Export gives you a
.po file of the English catalogue, to hand to a
translator or to a machine.
- Import takes a
.po or .mo back, compiles it and stores it
in wp-content/languages/themes/ — outside the theme, so it survives
updates. Entries left untranslated are discarded rather than saved as empty.
Languages with more than two plural forms
The exported file carries the English rule. For Russian, Polish, Arabic and the like, set
Plural-Forms in the header and fill in every msgstr[n]. The header you upload is
kept.
About the theme
Version, credits, and registering your copy.
Registering is optional and gates nothing. The theme behaves identically whether you
register or not; it exists so that we have your purchase code in hand when you ask for support.
- Find your purchase code in your ThemeForest downloads, under Licence
certificate & purchase code.
- Paste it into the box and press Register.
An optional second step. Once the code has been checked against the sale, the screen
offers a Confirm with Envato button. It takes you to Envato, you sign in to your own account,
and you come back with a green tick that says two things: the purchase code was verified, and this copy
belongs to you. It exists because a purchase code is not a secret — anyone holding a copy of it could
otherwise claim your registration — and it lets us tell the owner of a licence from anyone else. Like
the registration itself it gates nothing, and a copy that is never confirmed keeps every feature. We
ask Envato for your account name and nothing else.
What is sent, and only when you press that button: the purchase code, the address and name of the site,
the administrator's email, the theme version, the WordPress and PHP versions and the locale. If our
server is unreachable the code is saved anyway and delivery is retried on its own — after an hour, then
a few hours apart, then once a day, for about a week — until it goes through. A server of ours being
down is not your problem. While it has not gone through, the panel says Not delivered yet
rather than Registered, and the Credits screen carries a button to try again straight away.
Removing the code. Remove the code from this site deletes it here and
tells our server to withdraw the registration: the site address, its name, the administrator's
email and the network address are erased from our records, and only the purchase code and the
date remain, so we know the registration existed and was withdrawn. The address itself is stored
without its last part, so it never identifies one connection. What is left of a withdrawn
registration — a purchase code and two dates — is deleted a year later. Write to us and we will
delete any row on request.
Image sizes
What the theme generates, and what to upload.
| Name | Size | Used by |
| pulsar-hero | 1200 × 675 | The hero and the featured image of a post. |
| pulsar-main | 864 × 486 | Large cards. |
| pulsar-card | 600 × 338 | Standard cards. |
| pulsar-card-sm | 300 × 169 | Small cards and phones. |
| pulsar-list | 220 × 124 | List thumbnails. |
| pulsar-list-sm | 110 × 62 | Compact lists. |
| pulsar-stories | 220 × 220 | The stories row, square. |
Upload at 1600 pixels wide or more, in 16:9
WordPress can only cut down, never up. An image narrower than a size simply will not have it, and the
theme falls back to something larger and heavier.
Translating the site
Two different things, often confused.
- Translating the theme's own words — "Read more", "comments", the labels around your
content. Use the import and export in Language.
- Running the site in several languages — that is a job for a multilingual plugin
(WPML, Polylang and the like). Pulsar uses standard WordPress functions throughout, so those plugins
work with it, but the theme does not do it on its own.
Filters for developers
The hooks the theme exposes, for a child theme's functions.php.
| Filter | What it changes |
pulsar_layout_presets | Add your own preset, or edit a bundled one. |
pulsar_demo_content | The categories and titles the demo importer creates. |
pulsar_most_viewed_ids | Return an array of post IDs and you own the "Most read" widget entirely. |
pulsar_shortcode_catalog | The shortcode list shown in the panel. |
pulsar_load_shortcode_styles | Force the shortcode stylesheet on, for a shortcode used in a widget. |
pulsar_card_title_max | How long a card title may be before it is cut. |
pulsar_related_excluded_categories | Categories to keep out of "Related articles". |
pulsar_hide_ads | Return true to hide every ad zone for a request. |
pulsar_ads_excluded_paths | Paths where ads are never printed. |
pulsar_app_store_lookup | The data read from the App Store, before it is used. |
pulsar_registration_endpoint | Where the registration is sent — change it, or point it nowhere. |
pulsar_default_grid_chip_rows | The chips proposed on a site that has never saved them. |
pulsar_resource_hint_domains | Domains to preconnect to. |
pulsar_redirect_author_feeds | Return true to send every author feed to the main one. Off, so /author/name/feed/ works as WordPress intends. |
pulsar_strip_elementor | Whether to take apart the Elementor wrappers left in a post. False while Elementor is installed, so the theme never touches a live page builder; true once it has been removed, to clean up what it left. |
pulsar_legacy_feed_slugs | Slugs of retired categories or tags whose feed should land on the main feed. Empty. |
pulsar_share_networks | Which networks the share row offers, and in what order. |
pulsar_social_networks | The catalogue of social profiles the panel asks for. |
pulsar_supports_dark_mode | Return true and the theme draws its dark appearance. |
pulsar_speakable_selectors | The parts of an article a voice assistant should read out. |
pulsar_load_more_partials | The card partials the "Load more" endpoint is allowed to draw. |
pulsar_load_more_html | The markup of the "Load more" button itself. |
pulsar_header_supports | What each header layout is allowed to show. |
pulsar_icon_tints | The colours the panel icons are tinted with. |
pulsar_dns_prefetch_domains | Domains to resolve early, beside the ones the theme already knows. |
pulsar_lean_landing_templates | Page templates served with the short list of stylesheets. |
pulsar_no_hero_preload_templates | Page templates where the hero image is not preloaded. |
pulsar_demo_media_url | Where the demo photographs are fetched from. |
pulsar_core_plugin_package | Where the Pulsar Core zip is taken from when it is installed. |
pulsar_support_email | The address the Support screen writes to. |
pulsar_theme_page_url | The address of the theme page linked from the panel. |
pulsar_user_menu_cacheable | Whether the user menu may be served from a cache. |
pulsar_affiliate_partners | The shops the product shortcode knows how to link to. |
There is also an action, pulsar_preset_applied, fired right after a preset is written.
FAQ
I activated the theme and the homepage looks like a blog, not like the demo.
The homepage is built from blocks and starts with a sensible default. Apply a preset
(Presets) and, on a new site, import the demo content.
The shortcodes print as text in my articles.
The Pulsar Core plugin is not active. Install it from the package, or use the
Install the plugin button on the Shortcodes screen.
My images look soft, or the pages are heavy.
Images uploaded before the theme was installed do not have the sizes it asks for. Run
Regenerate Thumbnails once — the Performance screen tells you whether you need to.
I changed a setting and the site looks the same.
Three usual reasons, in the order worth checking:
- You have not pressed Save settings yet. The bar at the bottom of the panel
is still showing.
- A page cache is serving the old HTML. Clear it after saving.
- The critical CSS is still the old one. If you switched it on, a slice of stylesheet
is printed inside every page, and it is a snapshot of the theme as it was when it was generated: until
it is rebuilt, the first thing a visitor sees is painted with the old rules. It regenerates by itself
while you are in the admin — at most once every fifteen minutes — or immediately from
Performance → Generate.
If you use both, the order matters
Regenerate the critical CSS first, then clear the page cache: the critical CSS travels inside the HTML, so
a cache emptied before the rebuild simply stores the old one again.
Where do my settings go if I switch theme?
They stay in the database, untouched. Switch back and they are all there. The shortcodes keep working
under another theme too, because they live in the plugin.
Can I use it on more than one site?
That is set by the licence you bought on ThemeForest, not by the theme. A regular licence covers one
end product.
The comment counts on the cards are wrong for a moment.
They are refreshed after the page loads so the HTML can be cached. The number you see first is the one
from the cached page; a second later it is the real one.
Licences and credits
The PHP inherits the GNU GPL v2 or later, because it extends WordPress. Stylesheets, scripts, images and
the design are covered by the licence you accepted when you bought the theme, which defines how many
installations you may run and what you may not redistribute. Support and updates come from where you
bought it.
Third party work included
| Component | What it does | Licence |
| SortableJS | Drag and drop ordering in the panel. | MIT |
| Inter, Geist, DM Sans, Nunito, Open Sans, Lato, Poppins, Montserrat | The bundled fonts, self-hosted. | SIL Open Font Licence |
| The icons | Drawn for this theme. | Part of the theme. |
External services, and what leaves your site
The theme can make exactly two calls outside your server, both optional and both stated in
readme.txt: Apple's public iTunes lookup, for the app banner and the
[app] shortcode; and our registration endpoint, only when you press Register.
Registering your copy
Nothing is sent until you press Register. When you do, exactly this goes to
ispazio.net, and nothing else:
- the purchase code you typed;
- the address and the name of this site;
- the administrator email address;
- the theme name and version, the WordPress and PHP versions, and the site language.
It is used for two things: verifying the purchase with Envato, and reaching you about updates and
security fixes. It is kept while the licence is in use, because that is what the record is for.
Your network address is never stored whole — its last part is dropped before it is written, so it
identifies nobody.
You can take it back. Press Remove the code from this site, in
Pulsar → Credits, and the site asks the server to withdraw the registration: the site
address, its name, the administrator email and the network address are erased at once, and what
remains — a purchase code and two dates — is deleted a year later. Or write to
ispazio@gmail.com and ask.
The address the theme talks to can be changed, or the whole thing switched off, with the
pulsar_registration_endpoint filter: a theme that phones home should be a theme you
can point elsewhere.
Social & Promo
Your profiles, the app banner and the newsletter box.
Social profiles
One address per network. A network with no address of yours still shows, but it points at the network's own home page and shows no follower count — the theme never invents numbers.
Button style
How your social buttons are drawn, everywhere the theme draws them — the row beside the hero in layouts B and C, and the Social widget. Two examples under the choice show what each one looks like.
Buttons per row decides whether they stand two side by side, which is what a fresh install does, or one across the width of the column they are in.
App banner
A promo block for an iOS app: icon, name, slogan, App Store button, rating and review count, with two phones drawn in CSS. It is on by default so the block is there to look at, with grey placeholders in place of the icon and the screenshots until you provide your own. Nothing leaves your server on its own: the switch that reads from Apple ships off.
Newsletter
The theme draws the box; a plugin collects the addresses. That division is deliberate: collecting an email means storing personal data, sending confirmations and honouring unsubscribes, and that has to survive a change of theme.
Until a shortcode is in place the block is not shown to visitors at all: a sign-up box that collects nothing is worse than no box. As an administrator you still see a line explaining why.