- ApiPractical example – How to add a new Block and Module
- Apitd_api_block::delete
- Apitd_api_block::update_key
- Apitd_api_block::update
- Apitd_api_block::add
- ApiAPI – Blocks – Introduction
- Apitd_api_thumb::update_key
- Apitd_api_thumb::update
- Apitd_api_thumb::add
- ApiAPI – Thumbnail – Introduction
- Apitd_api_category_top_posts_style::update_key
- Apitd_api_category_top_posts_style::update
- Apitd_api_category_top_posts_style::add
- ApiAPI – Category top section style – Introduction
- Apitd_api_module::update_key
- Apitd_api_module::update
- Apitd_api_module::add
- ApiAPI – Modules – Introduction
- ApiUsing the Theme API in plugins
- ApiThe Theme API
Hi,
The issue is not with WordPress or the theme.
The Facebook Debugger shows a 403 error, which means your server is blocking Facebook’s crawler (facebookexternalhit / Facebot).
Because Facebook can’t access the page, it cannot read the title or image, so previews don’t show.
Fix: ask your hosting provider or check your site’s firewall/CDN (e.g. Cloudflare, Wordfence) and whitelist Facebook’s crawler or disable rules blocking bots.
After that, use Facebook Debugger → “Scrape Again.”
My site is abysmally slow – but I’d like to work on the actual issues before I add a caching plugin. I’ve come across many speed articles and supposed Newspaper Optimization – but I can’t figure out what is current, or where any of things mentioned are.
https://tagdiv.com/newspaper-theme-unveils-comprehensive-update-v-12-6-what-you-need-to-know/
Performance Optimization
Among the most anticipated features are options to minify and aggregate inline CSS of blocks, accessible directly from the Theme Panel. Additionally, you can now hide the mobile menu and mobile search functions, offering a cleaner user experience on mobile devices.
The Newspaper Theme has leveled up its performance by optimizing the Theme Panel’s color settings through CSS variables. Moreover, JavaScript files will only be loaded when they are needed, which should noticeably improve the website’s speed.
What are the instructions for this? I have no clue where to click or what to do – AI lies constantly and makes things up. What is a step by step guide to gain the advantages claimed above?
https://tagdiv.com/how-to-increase-page-loading-speed/ – is this still accurate?
I’d love an updated step by step list on how to speed up newspaper before I add a plugin to do so.
HI,
Could you provide a link to your website where I cna see a 410 redirect? Maybe I will see a solution to this.
Indeed, Wordfence will block you if you try to set teh code directly here. You can use something like https://pastebin.com/ to share the code.
Hi,
A 500 Internal Server Error is a generic HTTP status code that indicates the web server encountered an unexpected condition which prevented it from fulfilling the request. This means the issue is on the server side, not related to the user’s device.
Common causes include a misconfigured .htaccess file, PHP errors, exhausted memory limits, or conflicts caused by plugins or themes.
How to Fix 500 Internal Server Error in WordPress – https://creativethemes.com/blocksy/blog/how-to-fix-500-internal-server-error-in-wordpress-6-actionable-tips/
You should ask an AI app to review the weather widget for issues. I asked the following question in Cursor AI:
Are the units used correctly? When I check the data returned from the API call, it doesn’t match up with the data on https://openweathermap.org/ for the same city.
I received the following response:
I’m going to verify the unit handling logic in your weather class against OpenWeather response fields so we can isolate exactly why values differ.
—
Short answer: not fully — there are two real unit bugs in this file.
What’s wrong
w_units handling is incorrect
Any non-empty w_units value is treated as imperial:
td_weather.php
Lines 41-48
$current_unit = 0; // 0 – metric
$current_temp_label = ‘C’;
$current_speed_label = ‘kmh’;
if (!empty($atts[‘w_units’])) {
$current_unit = 1; // imperial
$current_temp_label = ‘F’;
$current_speed_label = ‘mph’;
}
So w_units=”metric” still flips to imperial.
That explains mismatch immediately.
Metric wind label/value mismatch
API requests units=metric, where wind speed is m/s, but code labels it as kmh without converting:
td_weather.php
Lines 428-431
if (isset($api_response[‘wind’][‘speed’])) {
$weather_data[‘today_wind_speed’][0] = round($api_response[‘wind’][‘speed’], 1);
$weather_data[‘today_wind_speed’][1] = self::kmph_to_mph($api_response[‘wind’][‘speed’]);
}
today_wind_speed[0] is m/s, not kmh.
today_wind_speed[1] also assumes km/h input, but input is m/s.
Where to fix
In wp-content/plugins/td-composer/legacy/common/wp_booster/td_weather.php:
Fix unit selection around the if (!empty($atts[‘w_units’])) block.
Fix wind conversions in owm_get_today_data() around wind speed assignment.
—
Then I asked the following:
Can you show me the exact fixes I need to make in order to correct this issue?
—
Yes — make these exact edits in wp-content/plugins/td-composer/legacy/common/wp_booster/td_weather.php.
1) Fix w_units detection (currently always imperial when non-empty)
Replace this block:
$current_unit = 0; // 0 – metric
$current_temp_label = ‘C’;
$current_speed_label = ‘kmh’;
if (!empty($atts[‘w_units’])) {
$current_unit = 1; // imperial
$current_temp_label = ‘F’;
$current_speed_label = ‘mph’;
}
with:
$current_unit = 0; // 0 – metric
$current_temp_label = ‘C’;
$current_speed_label = ‘m/s’;
if (!empty($atts[‘w_units’]) && strtolower($atts[‘w_units’]) === ‘imperial’) {
$current_unit = 1; // imperial
$current_temp_label = ‘F’;
$current_speed_label = ‘mph’;
}
2) Fix wind speed conversion (OpenWeather metric wind is m/s, not kmh)
In owm_get_today_data(), replace:
if (isset($api_response[‘wind’][‘speed’])) {
$weather_data[‘today_wind_speed’][0] = round($api_response[‘wind’][‘speed’], 1);
$weather_data[‘today_wind_speed’][1] = self::kmph_to_mph($api_response[‘wind’][‘speed’]);
}
with:
if (isset($api_response[‘wind’][‘speed’])) {
$weather_data[‘today_wind_speed’][0] = round($api_response[‘wind’][‘speed’], 1); // m/s from api
$weather_data[‘today_wind_speed’][1] = self::mps_to_mph($api_response[‘wind’][‘speed’]); // imperial
}
3) Add proper conversion helper (m/s -> mph)
Replace this function:
private static function kmph_to_mph($kmph)
{
return round($kmph * 0.621371192, 1);
}
with:
private static function mps_to_mph($mps)
{
return round($mps * 2.2369362921, 1);
}
Why this fixes your mismatch
w_units=”metric” will now stay metric (instead of being treated as imperial).
Wind values/labels now match OpenWeather metric/imperial behavior.
If you want, I can apply these edits directly for you now.
—
I followed those instructions and now the weather widget is displaying more realistic data to me.
Hi,
I checked the website, and now you have H1 enabled on the logo for the sticky menu on both desktop and mobile – https://prnt.sc/G0OOnxzhOmtk – https://prnt.sc/WHBtt6ZWZC43. Disable one of them or both in case you want to use the H1 element on a different element.
Also, each flex block has SEO tag option so you can adjust the H you want for that block – https://prnt.sc/BbWoI66d5I4X even the mega menu element has it – https://prnt.sc/Wu97fyuxm-xT
Hi,
Based on your screenshot, I can see an admin-ajax issue. This is commonly caused when requests are blocked by modSecurity, your hosting provider’s firewall, or certain security plugins or server modules.
Could you please confirm if other changes made in the Theme Panel are being saved correctly?
Thank you!
Hi,
I see that you no longer have the coming soon mode and that the prebuilt website installed is Pulses Pro (this demo), so the solutions are exactly those I mentioned above. The best solution will be using the first method:
1. To use the option for a unique article on the homepage using wordpress editor – https://prnt.sc/MWs2ytZHk8kB scroll to the bottom, there under the Page Template Settings, open the Unique articles tab and enable it https://prnt.sc/SKjrD-FGiIOQ. After that, save/update the page and the results will be different articles in each block – https://prnt.sc/nznA2bCFFH6g
Hi,
To create a page like the one above, there’s no need to use Flex Block elements, as those are designed to pull in articles or custom post types (CPTs).
In your case, since you only want to display images and text, you can simply use the Image and Text elements. For the background color, you can set it at the row level, and for titles, you can use the Title element.
Hi,
This can be achieved by creating articles that use a featured video instead of a featured image. You can follow our step-by-step guide here:
https://forum.tagdiv.com/featured-image-or-video/
To display these articles on the homepage, a simple approach is to assign a specific category to them (for example, “video” or a similar). Then, add a block or grid element and go to the Filter tab. From there, select the category used for those articles so they are displayed as desired.
Please note that using a Flex Block or Flex Grid will give you more flexibility and additional options for customizing the layout and settings.
Hi,
This situation can be resolved in two ways:
1. You can enable the Unique Articles option by following this guide:
https://forum.tagdiv.com/unique-articles/
2. Alternatively, you can use the tagDiv Composer. Select each block individually, then go to the Filter tab and choose the category from which you would like to pull articles – https://forum.tagdiv.com/flex-block-settings-guide/ – https://prnt.sc/FEGGusJieopy
I hope this will help you!
I am creating a Website for Mobile. I need to create Pages where each page will have 90% text and just a small image within it like an icon etc. Please advise which Flexblock should I use where I can mix Text and image in it. I need a free format so that I can put image anywhere within the text content.
UPDATE — April 25, 2026
Significant new findings after deeper DOM inspection. The block is no longer empty, but articles are rendered offscreen.
What changed since my last report:
Yesterday: the block container appeared completely empty — no child modules in the DOM.
Today (verified via browser DevTools): the container #tdi_96 now contains 5 .td_module_flex elements with correct titles, dates, categories, and links pointing to the right posts.
However, the articles are rendered at top: -4729px on the public frontend — far outside the viewport, which is why they remain invisible to users despite being present in the DOM.
Detailed observations from the frontend (incognito, logged out):
Articles ARE in the DOM: confirmed via document.querySelectorAll(‘#tdi_96 .td_module_flex’) returning 5 elements with valid content.
Articles positioned offscreen: getBoundingClientRect() returns top: -4729, left: 20 for the first article. Parent #tdi_96 itself sits at normal page position with height: 234px.
Computed CSS does not explain the offset: position: relative, top: 0px, marginTop: 0px, transform: none, translate: none, inset: 0px — no positioning rule should push the elements offscreen.
No transform on any ancestor: walked up the DOM from .td_module_flex to #tdi_96 — no element has a transform or non-default position.
In tagDiv Composer editor, the block displays correctly — all 5 articles visible with normal layout. The issue manifests only on the public frontend rendering.
Block class on frontend: td_block_inner td-mc1-wrap with el_class=”td-week-slider” set in shortcode.
Image container has display: none (intentional — image_floated=”hidden” in config).
Editor still throws 8x “model does not match content” errors when opening the Homepage in tdc. These persist from yesterday and have not cleared.
Hypothesis:
The block appears to enter a ticker/slider rendering mode on the frontend (consistent with the td-week-slider class), where articles are positioned offscreen waiting for a JS animation that never executes. The editor renders the block correctly because it bypasses this ticker behavior, but the frontend runtime applies it and fails. This may be linked to the persistent “model does not match content” errors.
Concrete questions:
(a) How can I force this block to render as a standard vertical flex list (no ticker behavior) without entering Composer to edit it (since opening the Homepage in tdc shows the model errors)?
(b) Is there a way to clear the model-content mismatch from the database directly (wp_options, wp_postmeta) without going through the editor?
(c) Does the td-week-slider el_class trigger specific JS that could fail silently and leave articles parked offscreen?
I can provide additional diagnostic output from DevTools console if helpful.
Hi tagDiv team,
I have a Flex Block 1 (configured as “Latest news” widget in the homepage left column)
that renders empty in the frontend but displays posts correctly in the Composer editor preview.
DETAILS:
– Theme: Newspaper v12.7.5 (REGISTERED)
– Demo installed: Newsweek PRO
– Site: https://eurowaypoint.com
– WordPress: 6.9.4
– PHP: 8.2.30
THE PROBLEM:
– In Composer editor: the Flex Block 1 shows the latest 5 published posts correctly
– In frontend (incognito browser, logged out): the block container is generated
(div id=”tdi_96″ class=”td_block_inner td-mc1-wrap”) but completely empty —
no child modules are rendered inside
– 24 published posts exist in the database
– Other blocks on the same homepage (Big Grid Flex 1, other Flex Block 1 instances)
work correctly and display posts
– No JavaScript errors in browser Console
– The block has no special filters configured (Category: All, all filter fields empty)
WHAT I’VE ALREADY TRIED:
– Cleared all caches (SiteGround, WP Super Cache disabled, browser hard reload)
– Restored Homepage from a 3-day-old revision (no improvement)
– Disabled all third-party plugins one by one (Wordfence, SG Optimizer, etc.)
– Verified block configuration in Composer (Filter tab, Layout tab — all default/empty)
– Forced re-save of the block (changed limit number and saved)
– Removed custom CSS that contained :has() selectors
WHAT I NOTICED:
The block was working until I made some modifications today (changed page slug from
/plans/ to /newsletter/, edited some HTML custom blocks for Subscribe links).
The Latest block stopped rendering at some point during these changes.
Restoring an older Homepage revision did NOT fix it.
Could this be a corrupted block state in the database? Is there a way to reset
the block’s internal cache or regenerate its configuration?
Thank you for your help.
Hi,
Yes, here are some quick things to check when AdSense ads don’t show in the Newspaper theme:
1. Ad approval (most common issue): Make sure your AdSense account + ad units are fully approved. New sites or units can take time (hours to days) before ads appear.
2. Low or no traffic: If the site has very low traffic, AdSense may not serve ads consistently yet.
3. Ad blocking / cache:
– Clear all caches (plugin + server + CDN if used)
– Disable ad blockers while testing
– Test in incognito mode
4. Incorrect ad code placement: Double-check that the AdSense code is pasted correctly in:
Newspaper → Theme Panel → Ads, or the correct Ad Box element in tagDiv Composer
5. Auto ads vs manual ads conflict: If Auto Ads are enabled, they may override or delay manual placements. Try disabling Auto Ads temporarily for testing.
6. Privacy / consent (GDPR): If you use a consent plugin, ads will not show until consent is given.
7. Theme caching / delay in rendering: Sometimes Newspaper + cache plugins delay changes. Purge cache and wait a few minutes.
Hi,
This is not a bug, it’s the intended behavior of the element.
You can set the title and excerpt length directly from the block settings. The excerpt length setting only applies when no manual excerpt is defined for a post, in which case it will pull content from the article itself. If an excerpt is already set, it will be displayed in full.
You can also adjust the image height, and overall, everything can be customized from the block settings.
Thank you!
We’ve switched to the Center Pro homepage, but there seems to be a bug in the headline block.
The excerpt section here is set up to pull from the post summary. If no summary is entered, it automatically pulls from the first paragraph, as shown in the screenshot.
We plan to use custom summaries for our posts, but there’s an issue: when I enter an excerpt, the main block automatically scales based on the length of the summary. For example, if the summary is just one sentence, the block becomes extremely small and breaks the design. If it’s longer, the block grows accordingly.
At the moment, the only solution I see is not entering any summary and letting it pull content automatically.
Is there a way to fix this?
Site is here.
Clicking on the serach icon on the desktop opens the search popup for some time, input is not working, clicking anywhere on the page closes the popup and the whole page is locked – can’t click on anything.
Claude is saying there’s a mobile version present at the same time and this somehow blocks the whole page. This is a fresh installation of the site (works on the old version), we have been trying different prebuilt sites and cloud templates, maybe something broke it.
Hi,
Ok, if you want to use the multi-purpose icon, then please replace the above css with this one:
body .mfp-figure:after {
box-shadow:none;
}
body .mfp-bottom-bar {
padding: 0;
}
body .mfp-counter {
text-align: center;
position: relative;
padding-right: 0px;
}
body .mfp-arrow-left:before,
body .mfp-arrow-right:before {
font-family: td-multipurpose;
font-size: 60px;
}
body .mfp-arrow-left:before {
content: "\e960";
display: inline-block;
transform: rotate(180deg);
}
body .mfp-arrow-right:before {
content: "\e960";
}
Clear the cache and check the results.
Hi,
Unfortunately, those edits must be changed in the theme plugin file and should be done after each theme update because that thumbnail size doesn’t exist. To edit it you need to edit the file wp-content/plugins/td-composer/legacy/Newspaper/includes/td_config.php, look for the td_api_thumb::add(‘td_300x0’, https://prnt.sc/KNli1gH4SIx1 code line around 1491 and change the width from 300 to 400. After that, you need to set the thumb on the blocks small – https://prnt.sc/A-XkfODxUiLO and use a regenerate plugin to regenerate the thumbs.
I hope thsi will help you!
Hi,
Thank you, that solved the issue.
The problem was caused by a Cloudflare rule blocking requests to /wp-admin/admin-ajax.php. After excluding this endpoint from the wp-admin protection rule, the video pop-up works correctly on mobile (iOS) as well.
Thanks again for your help.
Hi,
I just checked, and it appears that there is a 403 https://prnt.sc/putozxRijzqD – https://prnt.sc/eil-LOVtn3Ew (seems to be from Cloudflare https://prnt.sc/qtJsei3ubT23 – https://prnt.sc/Ro5cfud4H3V6 ). Could you exclude the admin-ajax request from being blocked?
Hi,
I tried finding out in all your documents, but could not find.
Since the last Newspaper theme we are facing LCP and CLS issues on both desktop and mobile newspaper sites.
And all have to do with tagdiv and newspaper.
For example CLS –
Layout shift score: 0.1865
div.tdc_zone.tdi_67.wpb_row.td-pb-row
div.vc_column_inner.tdi_31.wpb_column.vc_column_container.tdc-inner-column.td-pb-span8
div.td_block_wrap.td_flex_block_4.tdi_82.td_with_ajax_pagination.td-pb-border-top.td_block_template_1.td_flex_block
div.vc_column_inner.tdi_36.wpb_column.vc_column_container.tdc-inner-column.td-pb-span12
div#tdi_37.td_block_inner.td-fix-index
and
Layout shift score: 0.0596
div.tdc_zone.tdi_67.wpb_row.td-pb-row
div.td-block.td-a-rec.td-a-rec-id-custom-spot.tdi_32.td_block_template_1
div.vc_column_inner.tdi_31.wpb_column.vc_column_container.tdc-inner-column.td-pb-span8
div.vc_column_inner.tdi_36.wpb_column.vc_column_container.tdc-inner-column.td-pb-span12
div#tdi_37.td_block_inner.td-fix-index
these all shifting on desktop, which is very high.
Similar problems with LCP too.
How to solve?
website: GadgetBridge.com
I had ChatGPT review my website for security vulnerabilities. This is what it said:
A second confirmed issue is that the site publicly exposes a theme builder template endpoint at /tdb_templates/single-post-template-uk-london-news-pro/. That page contains sample placeholder content like “Sample Post Title!” and tags such as “art”, “test”, and “wordpress,” which should not normally be useful to the public. This is an information disclosure problem: it helps attackers fingerprint your stack and theme behavior, and it tells them you are running a WordPress setup with tagDiv-style template builder pages exposed.
Does that endpoint need to be exposed? I don’t use that template.
https://www.wheredoitakethekids.com/tdb_templates/single-post-template-uk-london-news-pro/
Regards,
Kevin
