What are you looking for?

Docs

Ideo Documentation

Version 1.0.0 · by themestick.com · Free, GPL v2 or later

Ideo is a fast, modular WordPress theme for blogs, magazines and news sites. You build the homepage yourself from ready-made modules, switch between light and dark mode, collect newsletter subscribers without any extra plugin, and keep your Core Web Vitals healthy.

This guide takes you from installation to a finished homepage. It is written for everyone, so you do not need any coding knowledge.

Contents

  1. Requirements
  2. Installation
  3. Quick start: your site in 10 minutes
  4. Menus
  5. Building the homepage
  6. Homepage modules in detail
  7. Customizer settings
  8. Dark mode
  9. Newsletter
  10. Recent Posts page
  11. Contact page
  12. Footer
  13. Post and page layout
  14. Images
  15. Performance
  16. Translation
  17. Developer notes
  18. Troubleshooting
  19. FAQ
  20. Changelog
  21. Support Ideo
  22. Credits and license

Requirements

  • WordPress 6.0 or newer
  • PHP 7.4 or newer
  • Any standard hosting. A page cache plugin is recommended for the best speed.

Installation

  1. In your WordPress admin, go to Appearance > Themes > Add New > Upload Theme.
  2. Choose the theme zip file (ideo.zip) and click Install Now.
  3. Click Activate.

If you are installing on an existing site with many images, see Images to regenerate thumbnails once.

Quick start: your site in 10 minutes

Follow these steps in order. Each one is explained in more detail later in this guide.

  1. Set your logo and site name. Go to Appearance > Customize > Site Identity. Upload a logo, or leave it empty to show your site title as text.
  2. Create your menus. Go to Appearance > Menus, create a menu, and assign it to Main Menu. Create a second one for Footer Menu if you want it.
  3. Publish a few posts with featured images. Cards look best when every post has an image.
  4. Look at your homepage. On first activation, Ideo fills the homepage with a starter layout, so you see your posts right away. To change it, go to Appearance > Widgets, open the Homepage Modules area, and edit, reorder, add or delete modules.
  5. Pick your colors. In Appearance > Customize > Ideo Theme Options, choose your accent color and your default theme (Light, Dark or System).
  6. Set up the footer. In Appearance > Customize > Ideo Footer, choose your pages and edit the copyright line.

Your site is now live. Everything else is optional.

Tip: You do not need to set a static front page in Settings > Reading. Ideo builds the homepage itself.

Ideo has two menu locations:

Location Where it appears
Main Menu The header menu and the side drawer (hamburger) menu
Footer Menu The bottom line of the footer. It is shown when you have not chosen any Bottom bar (legal) pages (see Footer)

To create a menu

  1. Go to Appearance > Menus.
  2. Name your menu and add pages, categories or custom links.
  3. Under Display location, tick Main Menu (or Footer Menu) and save.

Submenus. Drag an item slightly to the right under another item to create a submenu. In the side drawer, submenus open with an arrow button.

Mega menu. When a top-level item in the Main Menu is a category and it has posts, Ideo opens a mega menu panel for it with the category’s latest posts and up to 8 of the sub-items you placed under it. Other items open as regular dropdowns.

Side drawer. The hamburger button opens a drawer with your main menu, the 5 latest posts and your social icons. The latest posts load only when the drawer is opened, so they never slow down your page.

Building the homepage

The homepage is made of modules. You choose which modules to show and in which order.

  1. Go to Appearance > Widgets.
  2. Find the area called Homepage Modules.
  3. Add modules (see the list below) and drag them into the order you like. You can add the same module more than once, and each copy has its own settings.

If your Widgets screen shows blocks: click the + button and search for Ideo. All Ideo modules appear in the list.

Starter layout. The first time Ideo is activated on a site, the Homepage Modules area is filled automatically with 7 modules: Main Headline, Scrolling Posts, Category and Tag Strip, Headlines Board, Editor’s Picks, Post Feed and Sidebar and Newsletter Signup Strip. They show your latest posts, and a module with no posts to show simply stays hidden. Ideo never replaces modules you already have, and it does not add them again if you delete them.

If you delete everything, the homepage shows a hero section with your 3 latest posts, so it is never empty.

Choosing posts for a module. Most modules let you control which posts they show:

  • Post IDs / links. Type one post ID or one post link per line. Posts you enter manually always come first, in the order you typed them. (To find a post ID, open the post in the editor and look at the address bar: post=123.)
  • Category and Tag. Fill the remaining slots with posts from a category or tag.
  • Auto-fill order. Choose Latest posts (default) or Random posts. Random picks from the newest 100 matching posts.
  • If you select nothing at all, the module shows your latest posts automatically.

No repeated posts. By default, a post that appears in one module is not suggested again in the next modules on the same page. You can turn this off in Customize > Ideo Theme Options. Posts you pick by hand are never affected.

You decide what goes where

Most themes fill the homepage with “latest posts” and give you no say in where a post lands. In Ideo, every module has its own post selection, so you work like an editor:

You want Use
A specific post in a specific spot Post IDs / links
A topic section Category or Tag
Fresh content that updates itself Latest posts
Variety on every rebuild Random posts

You can mix them inside one module. Hand-picked posts always come first, and the remaining slots are filled by category, tag, latest or random.

Recipe: a homepage that reshuffles itself

  1. Add your modules (for example Main Headline, Headlines Board, Scrolling Posts, Editor’s Picks, Post Feed).
  2. In each module, leave the post IDs empty and choose a Category or Tag, or leave all of them empty to use all posts.
  3. Set Auto-fill order to Random posts.
  4. Make sure Prevent the same post from repeating across modules is on (Customize > Ideo Theme Options). It is on by default.

Each module now picks different posts, no post appears twice, and the homepage is composed differently every time it is built.

Good to know:

  • Page cache. The random choice is made on the server when the page is built. With a page cache plugin, the homepage stays the same until the cache is refreshed. Without a page cache, it changes on every visit.
  • Keep the top steady. The hero image is the first thing visitors see and is preloaded for speed. A random hero cannot be preloaded in advance, so for the best mobile speed set the Main Headline module to Latest posts or pick its posts by hand, and let the modules below it shuffle.
  • Hand-picked posts are never touched by the no-repeat rule, so a pinned post can still appear wherever you placed it.

Homepage modules in detail

Ideo: Main Headline (hero)

The big opening block: 1 large post and 2 side posts. Turn on Split the bottom-right card in two to show 4 posts (the 1st large, the 2nd at top right, the 3rd and 4th as two half cards at the bottom right). Use the Admin label field to name the module in the admin panel; it is not shown on your site.

Ideo: Scrolling Posts

A horizontal strip of post cards that visitors scroll with arrow buttons. Set your own section title.

Ideo: Category and Tag Strip

A filter strip of categories and tags. When there are many items it becomes a carousel automatically. You can choose the default order (Popular by post count, or A–Z), and visitors can switch the order with a toggle. Pick categories from the list, and type tags separated by commas. If you pick nothing, all categories and the most used tags are shown.

Ideo: News Ticker

A thin strip that scrolls headlines and announcements. It pauses when visitors hover over it or focus it with the keyboard. You can add your own lines (one per line); to turn a line into a link, add | https://your-link at the end. Choose Slow, Normal or Fast speed. If you do not add this module, no ticker is shown.

Ideo: Headlines Board

A news-style block that shows exactly 7 posts: 3 small items on the left, 1 large featured story, and a row of 3 cards below it. The posts are used in the order you enter them.

Ideo: Discover Strip

The “Browse by mood” strip with 6 colorful circles. Each circle can link to a category, a tag or a single post. You can change its color or upload a custom image, and edit the three lines of text on the left. Circles with nothing selected are not shown.

Ideo: Showcase and Sidebar

Left side: an optional large post and a grid of cards (1, 2 or 3 columns). Right side: a sticky sidebar where you can add up to 15 items. Press Add item and choose one of:

  • Small Post: a thumbnail with title and category
  • Card: an image card
  • Banner: an image banner or an ad code

Reorder items with the arrow buttons and remove them with the cross. If the left side has nothing selected, it is hidden, so you can add a second copy of this module just to continue the sidebar.

Ideo: Editor’s Picks

One large featured post on the left and up to 2 compact cards on the right. Great for hand-picked content.

Ideo: Post Feed and Sidebar

A list of posts, one under another, with a sticky sidebar. You can show the excerpt under each title. If you do not add anything to the sidebar, the 5 most read posts are shown automatically. If you add items, you can still show Most read below them.

A short list with small images. By default it shows the posts with the most comments, excluding the post currently being viewed. You can also enter posts manually. This module works in the homepage and in the post and page sidebars.

Ideo: Banner and Ad Space

Shows one banner image (any size, it never breaks your layout) or an ad code such as Google AdSense. If you fill in an ad code, it is used instead of the image. You can set a minimum height so the ad space does not shift your page while loading.

Security note: Only users who are allowed to post unfiltered HTML (usually administrators) can save ad codes.

Ideo: Newsletter Signup Strip

An email signup strip. You can edit the small top label, the two title lines, the description, the field label and placeholder, the button text, the footnote and the background color. It uses the same newsletter system as the rest of the theme (see Newsletter).

Ideo: Company Pages

A list of pages you tick with checkboxes (About, Contact, Imprint, Privacy and so on). Pages are sorted by their Order value, then alphabetically. Use it in the footer areas (see Footer).

Customizer settings

Open Appearance > Customize. Ideo adds these sections:

Section What it controls
Support Ideo A short note about supporting the project
Ideo Theme Options Colors, default theme, newsletter target, social links, homepage behavior
Recent Posts Page The all-posts page and its menu options
Ideo Header Button (Subscribe) The button in the top menu
Ideo Newsletter Modal The newsletter pop-up window
Ideo Post Page Details shown on single posts
Ideo Contact Page The details of the Contact template
Ideo Footer Footer pages, texts and copyright line
Site Identity Logo, site title and the extra Dark theme logo

Ideo Theme Options

  • Accent color: The main color used for highlights, buttons and labels.
  • Hover color: The color used when hovering over menus, buttons, icons and links.
  • Default theme: Light, Dark or System. It is used until a visitor makes their own choice with the moon/sun button. System follows the visitor’s device setting.
  • Prevent the same post from repeating across modules: On by default.
  • Show excerpt in the feed: Shows the post excerpt under titles in the Post Feed module.
  • Newsletter form target URL: Optional. See Newsletter.
  • Social media URLs: Facebook, X / Twitter, YouTube, Pinterest, Instagram, LinkedIn and Other (shown with a three-dot icon). Filled fields appear in the header, the side drawer and the footer, in the same order.

Ideo Header Button (Subscribe)

  • Button text (default: Subscribe)
  • Button link: A full URL (https://...), a path on your site (/contact) or an in-page link (#newsletter). If you leave it empty, the newsletter window opens.
  • Open link in a new tab

Dark mode

  • Visitors switch between light and dark with the moon/sun button next to the search button. Their choice is remembered in their browser.
  • Without a saved choice, your Default theme setting is used (Light, Dark or System).
  • To show a better logo on dark backgrounds, go to Customize > Site Identity and upload a Dark theme logo (for example a white version). If you do not upload one, your normal logo is automatically turned white on dark backgrounds.
  • The theme is applied before the page first paints, and only colors change, so there is no flash and no layout shift.

Newsletter

Ideo includes a complete newsletter signup system. You do not need any plugin.

Option A: collect subscribers inside WordPress (default)

If the Newsletter form target URL is empty, submitted emails are stored in your site. A Newsletter Subscribers screen appears in the admin menu, where you can view, search and delete subscribers. Only administrators can see it, because email addresses are personal data.

The form is protected with a security token, email format validation, duplicate prevention and a hidden spam-trap field.

Option B: send subscribers to your email service

Paste the form address from Mailchimp or another service into Customize > Ideo Theme Options > Newsletter form target URL. The form then posts directly to that address.

Newsletter window (modal)

If the Button link of the header Subscribe button is empty, a newsletter window opens when it is clicked. In Customize > Ideo Newsletter Modal you can:

  • Edit the window title and description.
  • Choose to open it automatically after a visitor scrolls, with separate settings for the homepage and post pages (the percentage of the page scrolled).
  • Choose how many days it stays closed after a visitor dismisses it.

Visitors who subscribe or close the window are not shown it again during that time.

SEO tip: Automatic pop-ups that cover the content on mobile can run into Google’s “intrusive interstitial” rules. If you use them, keep the scroll percentage high (for example 60% or more).

Recent Posts page

Ideo can add a page that lists all your posts, newest first, in the same design as the category pages. You do not need to create a page.

  1. Go to Customize > Recent Posts Page.
  2. Tick Enable the Recent Posts page. The page opens at yoursite.com/recent-posts/.
  3. Choose where it appears: Show in the header menu and Show in the side drawer (hamburger) menu. When on, it is added right after the Home item (first, if your menu has no Home item).
  4. Optional: change the Menu and page title (default: Recent Posts).

If you added a menu item that points to this page by hand, Ideo does not add a second one. When the option is off, the address shows a 404 page.

Contact page

  1. Go to Pages > Add New, create a page called, for example, “Contact”.
  2. In the page settings, choose the page template Contact.
  3. Publish.
  4. Go to Customize > Ideo Contact Page to set the email, address and phone you want to display, and the email address the form messages are sent to (if you leave it empty, your admin email is used).

Lines you leave empty are not shown. The form is sent without reloading the page and is protected with a security token and a hidden spam-trap field.

The footer is built from widget areas and Customizer settings.

Widget areas (Appearance > Widgets):

Area Use
Footer – Discover The “Discover” column
Footer – Recent Posts The second column. If empty, the latest 3 posts are shown automatically
Footer – Pages (Below Categories) Below the Categories column. Use Ideo: Company Pages to pick About, Contact and so on
Footer – Bottom Bar (Legal Pages) The right side of the bottom line. Use Ideo: Company Pages for Terms and Privacy
Footer – About The logo/description column

Customizer (Customize > Ideo Footer):

  • Copyright line: Type {year} for the current year and {site} for your site name. You can use simple HTML for links. Leave empty to hide the line.
  • Description under the logo: If empty, your site tagline is used.
  • Newsletter box title
  • Privacy Policy page and Terms of Use page: Used for the links in the newsletter consent text.
  • Pages below categories: Pick pages from lists, with an optional title (default: Links).
  • Bottom bar (legal) pages: Pick pages shown side by side at the bottom right.

Post and page layout

Single posts. In Customize > Ideo Post Page you can show or hide each of these under the post excerpt: the author (avatar and name), the publish date, the reading time, the comment count and the share buttons. A separate option shows or hides the text size buttons (A- / A+) above the post text. All are shown by default.

Author image and author page. Under Customize > Ideo Post Page you can upload an Author image. It is shown next to the author name on every post (leave it empty to use each author’s own avatar, for example from Gravatar). The author name and image link to the author’s archive page, which lists all of that author’s posts in the same design as the category pages. The address looks like yoursite.com/author/username/ and uses the author’s login name, so for public sites use an author account whose login name you are happy to show.

Sidebars. The Post Sidebar and Page Sidebar widget areas control the sidebar on posts and on pages. If you leave them empty, a Popular Posts module is shown automatically. If you add widgets, yours are shown instead.

Related posts are shown automatically under each post.

Comments can be shown or hidden with a toggle button, so long discussions do not push the rest of the page away.

Images

Ideo uses these image sizes:

Name Size Used for
Hero 1200 × 820 Large hero and feature images
Hero (mobile) 768 × 525 Hero image on small screens
Card 640 × 440 Standard cards
Compact 480 × 480 Small square thumbnails
Post thumbnail 940 × 650 Single posts

Recommendations

  • Upload featured images that are at least 1200 px wide, in landscape orientation.
  • Posts without a featured image show a dark placeholder so the design never breaks.
  • If you install Ideo on a site that already has images, run a thumbnail regeneration plugin once so older images get the new sizes.

Performance

Ideo is built with speed and Core Web Vitals in mind.

  • Local fonts. DM Sans, Playfair Display and Poppins are served from the theme itself with font-display: swap. There are no Google Fonts requests, and the critical fonts are preloaded.
  • Light scripts. A single small script loads with defer. No jQuery or other runtime library is needed.
  • Less clutter. Emoji scripts, unused head links and jQuery Migrate are removed from the front end.
  • Fast first screen. The hero image is the main visual on your homepage, so it is loaded with high priority and preloaded. Other images use lazy loading with built-in width and height, which prevents layout shift.
  • No database writes while browsing. “Most read” lists use comment counts instead of a view counter, so heavy traffic does not slow your database.

Tips for the best results

  • Use a page cache plugin and a good host. Page speed depends on both.
  • Compress your images before uploading.
  • For the best mobile speed, set the hero module to Latest posts or pick its posts by hand. A random hero image cannot be preloaded in advance.
  • If you use a page cache with the random auto-fill order, the random list stays fixed until the cache is refreshed.

Translation

Ideo is translation-ready. The theme’s original language is English and a Turkish (tr_TR) translation is included.

  • Your site language is set in Settings > General > Site Language. Each user can also choose an admin language in Users > Profile.
  • To add another language, open languages/ideo.pot in a free tool such as Poedit, translate it, and save the .po and .mo files in the same languages folder, named for your locale (for example de_DE.po and de_DE.mo).
  • Text you typed into widgets or the Customizer is saved as you wrote it and is not translated automatically.

Developer notes

You do not need any of this for normal use.

  • Minified files. style.min.css and assets/js/main.min.js are minified copies of style.css and assets/js/main.js and are loaded when present. If you edit the readable file, either minify it again or delete the matching .min file (the theme falls back to the readable one). Setting define( 'SCRIPT_DEBUG', true ); in wp-config.php always loads the readable files.
  • Child theme. If you want to customize the templates, use a child theme so your changes survive updates.
  • Filters
Filter Purpose
ideo_recent_slug Change the address of the Recent Posts page (default recent-posts)
ideo_random_pool_size Change how many newest posts the “Random” auto-fill chooses from (default 100)
ideo_content_width Change the content width (default 940)
ideo_contact_recipient Change the email address contact form messages are sent to

Troubleshooting

My homepage only shows a hero.
That is what Ideo shows when the Homepage Modules area is empty. Add modules in Appearance > Widgets.

My homepage has empty gaps or fewer sections than I expected.
A module is hidden when it has no posts to show. With the “no repeated posts” option on, a small site can run out of posts for the later modules. Publish more posts, or turn the option off in Customize > Ideo Theme Options.

I can’t find the Ideo modules on the Widgets screen.
Click the + button and search for Ideo. Make sure you are inside the Homepage Modules area.

The Recent Posts page shows a 404 page.
Make sure Enable the Recent Posts page is ticked in the Customizer. If it still shows 404, go to Settings > Permalinks and click Save Changes once.

The Subscribers screen is empty.
If you entered a Newsletter form target URL, emails are sent to that service and not stored in WordPress. Clear the field to store them in WordPress.

My images look blurry or are cropped oddly.
Upload larger, landscape images (1200 px wide or more) and regenerate thumbnails once on existing sites.

The text on my site is in a different language than I expected.
Check Settings > General > Site Language and your user language in Users > Profile. Text you saved earlier in widgets stays in the language you typed it.

The Contact form says the message could not be sent.
Your hosting may block WordPress email. Install an SMTP plugin so your site can send mail reliably.

My changes don’t appear.
Clear your page cache and your browser cache.

FAQ

Is Ideo really free?
Yes. Ideo is free and licensed under GPL v2 or later.

Can I use it on client sites and commercial projects?
Yes, the GPL license allows personal and commercial use on as many sites as you like.

Does it work for both blogs and news sites?
Yes. Use the modules that fit you: a few cards for a personal blog, or a full homepage with ticker, headlines and sidebar for a news site.

Do I need a page builder or extra plugins?
No. The homepage builder, dark mode, newsletter system, contact form and mega menu are all built in.

Can I remove the credit in the footer?
You can edit or remove the copyright line in Customize > Ideo Footer.

Does it support WooCommerce?
No. Ideo is designed for blogs, magazines and news sites.

Where can I get help?
Visit themestick.com.

Changelog

1.0.0

  • Initial release.

Support Ideo

Ideo is free, and building and maintaining it takes a lot of time. If it helps your site, please consider a small donation. It keeps the updates coming and means a lot. Thank you!

Support Ideo with a donation

Credits and license

  • Ideo is licensed under the GNU General Public License v2 or later. See the LICENSE file.
  • Fonts: DM Sans, Playfair Display and Poppins are licensed under the SIL Open Font License 1.1. The license text is in assets/fonts/OFL.txt.
  • Design and development: © themestick.com. All rights reserved for the project name and branding.