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 automaticallyships 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:

FileWhat it is
pulsar.zipThe theme. This is the file WordPress wants.
pulsar-child.zipThe child theme. Optional, but see step 2.
plugins/pulsar-core.zipThe Pulsar Core plugin. Recommended: it is what makes the shortcodes work.
documentation/The pages you are reading.
  1. 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.
  2. 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.
  3. Install the plugin. Plugins → Add New → Upload Plugin, choose pulsar-core.zip, install and activate. Without it the shortcodes do not exist.
  4. 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.

  1. 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.
  2. Import the demo content, but only on a brand new site. Same screen. On a site that already has posts, skip it.
  3. Put your logo in. Header & logo, then the button that opens the Customizer section. Four slots: normal, retina, dark, dark retina.
  4. Set the site icon (the little square in the browser tab), from the same screen.
  5. Check your colours. Colors & type. Type a hex code or pick one; the preview on the right updates as you go.
  6. Build the homepage. Homepage: drag the blocks into the order you want, switch off what you do not need, and configure each one.
  7. Build your menus. Appearance → Menus, or the shortcut on the Header & logo screen.
  8. 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.

PresetWhat it sets up
News magazineHero C with a sidebar, a two-column grid of ten articles, nine blocks. The default setup.
Cars & bikesHero 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 siteLight 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.
AppearanceSwitchWhat a visitor sees
Follow the systemonWhat their device asks for, until they press the button.
Light or DarkonThe one you chose, whatever their device says — then theirs, if they press the button.
Light or DarkoffThe one you chose. There is no button and no way around it.
Follow the systemoffWhat 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.

ColourWhere it shows
BackgroundThe page behind everything.
SurfaceCards, boxes and the sidebar.
BordersHairlines, card outlines, separators.
HeadlinesArticle titles, on the cards and at the top of a page.
Excerpts and bylineThe text read second: card excerpts, author, date, comment count. Worked out from the headline colour until you set it.
BrandLinks, buttons, the category above a headline, the active menu item — the colour of the site.
AccentThe 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 textThe 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.

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

  1. Add a block with the Add button, or switch off one you do not want.
  2. 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.
  3. 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:

SettingWhat it does
Where it showsPhones, desktop, or both. Phones only to begin with, which is where the shape comes from.
Category and tagWhich articles fill it. Left empty, the most recent ones.
How manyEight 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

BlockWhat it isWhere it sits
StoriesRound covers in a row, like a story bar.Top band, full width
HeroThe opening block. Five layouts — see below.Top band, full width
CategoriesA row of category cards.Top band, full width
Post gridA grid of cards, one to six columns, with optional filter chips.Main column
Compact listA vertical list with small side thumbnails: a title, a date, and nothing else.Main column
Post carouselCards that scroll sideways, with arrows and drag.Main column
Post bentoOne big card plus smaller ones, in up to three columns.Main column
TimelineArticles 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 listThe 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 timelineThe 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 bannerA promo for an iOS app, with live data from the App Store.Bottom band, full width
NewsletterA 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.

LayoutWhat it looks likeGood for
AOne large card with two stacked cards beside it.A clear lead story.
BOne large card with a compact list beside it.A blog, where the list is the archive.
CA carousel of cards with a sidebar next to it.News sites: most stories above the fold.
DLayout C on a dark band, with room for a video and two buttons.Launches, campaigns, tech.
EA 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.

StyleWhat it is
StandardCover on top, text below. The card most of the site is made of.
HeroThe large card of the hero block.
Cover storyText laid over the picture, for a full-bleed card.
SideThumbnail on the left, text on the right. Used by lists.
CompactSmall and dense, for sidebars and tight columns.
ListThe 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 timelineThe 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.
TimelineOne entry of the compact timeline: the hour, the title, and — if you ask for them — a thumbnail and the category.
BentoNot 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.

ArrangementWhat it is
StandardThe article and the sidebar as two cards on the colour of the site. What the theme ships with.
PlainNo 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 headlineThe 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.
EditorialThe 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.
CoverThe 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

SettingWhat it does
BreadcrumbsThe 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 backgroundThree states: None (the word in the brand colour), Tinted (a soft pill), Filled (brand colour, white text).
SubtitleA line under the headline. You write it on the post itself, in the Pulsar — article options box, under the editor.
SponsorSet 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 formatExtended, condensed, or whatever Settings → General says.
Reading timeAn estimate from the length of the article.
Featured imageShow or hide it, set its corner radius and an optional shadow.
Related articlesOn or off, and how many per row on desktop, tablet and phone.
CommentsOff 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.

PlaceWhat it is
A bar under the headlineButtons 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 articleAt 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 articleIn 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.

SettingWhat it does
Show the noticeOff, nothing is printed and neither the script nor the stylesheet is loaded.
Title and messageYour words. Left empty, the theme's own are used.
ButtonsUp 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 itAdds 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 readersOff, 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 aloneOne 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.

SettingWhat it does
Static pagesFeatured 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 listsThe 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 resultsThe 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.

OptionValues
LayoutAuto · Force the sidebar · Full width
Title styleStandard · Light hero bar · Dark hero bar · Hidden
Featured imageDefault · 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.

  1. Paste the App Store address of your app. Without it everything is drawn except the button, which would lead nowhere.
  2. 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.
  3. Or leave it off and fill those three in yourself: with the lookup off the banner shows exactly what you write.
  4. Add the two screenshots, portrait, around 588×1280. A phone with no picture keeps its shape and shows a light grey screen.
  5. 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.

  1. Install a newsletter plugin. The screen recognises MC4WP, Newsletter, MailPoet, Brevo and FluentCRM and tells you which are installed, but any plugin works.
  2. Paste its shortcode into Form shortcode.
  3. 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.

ZoneWhere it appears
Home · above the gridBetween the hero and the homepage grid.
Home · in-feedAs a card between the articles of the grid.
Article · above the headlineAt the very top, before the category and the title.
Article · topRight after the first paragraph.
Article · middleAfter the fourth paragraph, when the piece is long enough.
Article · bottomAt the end of the content.
SidebarNot 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.

Performance

Two switches of the theme's own, and three things it cannot do for you.

Critical CSS

A page's stylesheets block rendering: the browser will not paint until they arrive. Critical CSS is the small slice needed for what is visible first, printed straight into the page, with the rest loaded without blocking. It is the single change with the largest effect on First Contentful Paint and Largest Contentful Paint, which is most of the PageSpeed score.

  1. Switch on Inline critical CSS. It is off by default.
  2. Press Generate. The measurement runs in your own browser, in hidden frames, for a handful of page templates. Nothing is sent anywhere.
  3. Leave Keep it up to date automatically on. The file is a snapshot of the theme as it is today, so when you change settings or stylesheets it goes out of date — and the theme quietly re-measures, at most once every fifteen minutes, while you are in the admin.
If you use a page cache, clear it after regenerating The critical CSS travels inside the HTML. Until the cached pages are rebuilt, visitors keep getting the old one.

Hero image preload

Tells the browser to start fetching the main image of the page immediately. It is aimed squarely at LCP.

What the theme cannot do alone

  1. Resize old images — a site with an existing archive needs Regenerate Thumbnails run once. The screen counts your images and tells you whether it is actually worth it.
  2. Cache pages — a page cache stores the generated HTML and serves it without running WordPress. W3 Total Cache is what Pulsar was built and tested against; any other cache plugin does the same job. Switch on page cache and browser cache first.
  3. Search a large archive — WordPress searches with a LIKE that no index can serve, so every search reads the whole posts table and results come out by date, not relevance. Above a thousand posts, Relevanssi Light replaces that query with a MySQL FULLTEXT index. This is the one thing a cache never helps with, because every search is a different query.

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.

WhereWhat forWhen
api.fxtwitter.comReading 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.comThe 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.netThe 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.comChecking 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.

FieldWhere 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:

WrittenWhat you get
[read], one IDThe full band: large picture, title, description.
[read], several IDsThe same full band, repeated once per article.
[read-also], one IDThe full band — a list of one is not a list.
[read-also], several IDsThe 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.

  1. Find your purchase code in your ThemeForest downloads, under Licence certificate & purchase code.
  2. 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.

NameSizeUsed by
pulsar-hero1200 × 675The hero and the featured image of a post.
pulsar-main864 × 486Large cards.
pulsar-card600 × 338Standard cards.
pulsar-card-sm300 × 169Small cards and phones.
pulsar-list220 × 124List thumbnails.
pulsar-list-sm110 × 62Compact lists.
pulsar-stories220 × 220The 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.

  1. Translating the theme's own words — "Read more", "comments", the labels around your content. Use the import and export in Language.
  2. 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.

FilterWhat it changes
pulsar_layout_presetsAdd your own preset, or edit a bundled one.
pulsar_demo_contentThe categories and titles the demo importer creates.
pulsar_most_viewed_idsReturn an array of post IDs and you own the "Most read" widget entirely.
pulsar_shortcode_catalogThe shortcode list shown in the panel.
pulsar_load_shortcode_stylesForce the shortcode stylesheet on, for a shortcode used in a widget.
pulsar_card_title_maxHow long a card title may be before it is cut.
pulsar_related_excluded_categoriesCategories to keep out of "Related articles".
pulsar_hide_adsReturn true to hide every ad zone for a request.
pulsar_ads_excluded_pathsPaths where ads are never printed.
pulsar_app_store_lookupThe data read from the App Store, before it is used.
pulsar_registration_endpointWhere the registration is sent — change it, or point it nowhere.
pulsar_default_grid_chip_rowsThe chips proposed on a site that has never saved them.
pulsar_resource_hint_domainsDomains to preconnect to.
pulsar_redirect_author_feedsReturn true to send every author feed to the main one. Off, so /author/name/feed/ works as WordPress intends.
pulsar_strip_elementorWhether 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_slugsSlugs of retired categories or tags whose feed should land on the main feed. Empty.
pulsar_share_networksWhich networks the share row offers, and in what order.
pulsar_social_networksThe catalogue of social profiles the panel asks for.
pulsar_supports_dark_modeReturn true and the theme draws its dark appearance.
pulsar_speakable_selectorsThe parts of an article a voice assistant should read out.
pulsar_load_more_partialsThe card partials the "Load more" endpoint is allowed to draw.
pulsar_load_more_htmlThe markup of the "Load more" button itself.
pulsar_header_supportsWhat each header layout is allowed to show.
pulsar_icon_tintsThe colours the panel icons are tinted with.
pulsar_dns_prefetch_domainsDomains to resolve early, beside the ones the theme already knows.
pulsar_lean_landing_templatesPage templates served with the short list of stylesheets.
pulsar_no_hero_preload_templatesPage templates where the hero image is not preloaded.
pulsar_demo_media_urlWhere the demo photographs are fetched from.
pulsar_core_plugin_packageWhere the Pulsar Core zip is taken from when it is installed.
pulsar_support_emailThe address the Support screen writes to.
pulsar_theme_page_urlThe address of the theme page linked from the panel.
pulsar_user_menu_cacheableWhether the user menu may be served from a cache.
pulsar_affiliate_partnersThe 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:

  1. You have not pressed Save settings yet. The bar at the bottom of the panel is still showing.
  2. A page cache is serving the old HTML. Clear it after saving.
  3. 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

ComponentWhat it doesLicence
SortableJSDrag and drop ordering in the panel.MIT
Inter, Geist, DM Sans, Nunito, Open Sans, Lato, Poppins, MontserratThe bundled fonts, self-hosted.SIL Open Font Licence
The iconsDrawn 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.