Our website’s no-cache data is taking too long to load. On average, the spinner is visible 3 to 6 seconds before the data loads.
Our environment: PHP 8.2.24 or PHP 8.4.0, Avada 7.11.11, and WP 6.6.2.
To address the above, I followed your recommendation (provided in previous topic) to downgrade from V0.1.1 to V0.0.8 , and everything now runs a lot better (i.e., no spinner visible, data loads in 1 to 2 seconds).
Perhaps the issue lies in the code used for AJAX-loading the spinner.
Any plans to fix the above issue anytime soon?
Thank you!
]]>0.8 used to work when using a shortcode i had on the site. After updating to 0.1.1, the spinner comes up and the element never loads. Any advice? I’ve tried adding the “remote” property in the generated shortcode with no avail.
]]>Good Day,
After running a performance check of our affected (content-no-cache) web page, we noticed your plugin generates (i.e., displays) two files on the front end. They are:
Is there any way you can modify your plugin such that these files are not displayed on the front end? If not, any suggestions on how to hide them programatically? Security reasons.
Thank you!
]]>Good Day,
We deleted your plugin, then re-installed it only to learn that our previously-saved “Content No Cache” posts re-appeared (details). Not good.
Based on the above, how can we perform a clean (i.e., complete) uninstall of your plugin?
Thank you!
]]>Good Day,
Unfortunately, your plugin does not work with shortcodes (not ours, at least). We read all support topics in this forum related to shortcodes and applied all of your recommended solutions. None of them work.
This particular support topic describes exactly what we’re running into.
So, per your topic request, we would like to see if you can make your plugin work for the exercise given below.
Our environment: PHP 8.3.8, jQuery 3.7.1, Avada 7.11.9, WP 6.5.5
Our caching mechanisms: Speed Optimizer (plugin) and Cloudflare.
Fix appreciated. Your plugin has a lot of potential.
Thank you!
—————-
Exercise:
if (is_page ('contact'))
———————-
Code Snippet for Shortcode [business_hours]:
function business_hours_shortcode($atts) {
if (is_page ('contact')) {
// Set timezone - change this to match your own.
date_default_timezone_set('America/Chicago');
// An array of your opening hours.
$opening_hours = array(
'Monday' => array('07:30', '17:30'),
'Tuesday' => array('07:30', '17:30'),
'Wednesday' => array('07:30', '17:30'),
'Thursday' => array('07:30', '17:30'),
'Friday' => array('07:30', '17:30'),
'Saturday' => array('Closed'),
'Sunday' => array('Closed'),
);
// An array of your holidays (format: month/day - add zero before single-digit month or day)
$holidays = array('01/01', '05/26', '07/04', '07/05', '09/02', '11/11', '11/28', '11/29', '12/24', '12/25', '12/31');
// Get current date, day, and time.
$current_date = date('m/d');
$current_day = date('l');
$current_time = date('H:i');
// Get today's opening hours.
$today_hours = $opening_hours[$current_day];
// Check if today is a holiday.
if (in_array($current_date,$holidays)) {
return '<span style="font-weight:600;color:#ffffff;background-color:#e14d43;padding:6px 12px;border-radius:3px;">CLOSED FOR THE HOLIDAY</span>';
}
// Check if we have opening hours for today.
if (!isset($today_hours) || count($today_hours) < 2) {
return '<span style="font-weight:600;color:#ffffff;background-color:#e14d43;padding:6px 12px;border-radius:3px;">CLOSED TODAY</span>';
}
// Check if current time is between opening hours.
if ($current_time >= $today_hours[0] && $current_time <= $today_hours[1]) {
return '<span style="font-weight:600;color:#ffffff;background-color:#00c853;padding:6px 12px;border-radius:3px;">CURRENTLY OPEN</span>';
} else {
return '<span style="font-weight:600;color:#ffffff;background-color:#e14d43;padding:6px 12px;border-radius:3px;">CURRENTLY CLOSED</span>';
}
}
}
add_shortcode('business_hours', 'business_hours_shortcode');
]]>
Hola Jose!
First of all, thank you for the great tool!
I was able to exclude WooCommerce Product price block from cache with it. Specifically, thanks to this thread: https://www.ads-software.com/support/topic/how-can-i-exclude-my-posts-views-like-counter-using-this-plugin/ I can’t post there, but here is the addition that I have. The suggested way to extract URL won’t work with more than 1 /. This should do the work:
// Get Post ID from AJAX-Referrer > Slug-to-Post resolver
$url_components = parse_url(wp_get_referer());
// Check if path is set in URL components
if (isset($url_components['path'])) {
$path = $url_components['path'];
} else {
$path = '/';
}
$post_id = url_to_postid($path);
Now I have another task — I would like to do the same for Products in Loop (on Archive templates). There I can’t get referrer though. Are you aware of any other way I can obtain ID or product slug from there to access the product data in the similar way and exclude it from caching?
Or, maybe there is another way to achive this?
Thank you for the plugin!
Cheers, Sabrina
]]>Hi Jose,
I would like to confirm one of the Pro features of this plugin before buying it.
I’ve read one of the thread saying it will work with Elements using Classes and IDs or without adding any shortcode or function. Can you confirm it?
]]>Is is possible to change the spinner image?
In the code I can see it is here:
/images/spinner.gif
… but there is no images folder in the plugin.
]]>Hi there Jose,
First of all thanks for making such a great plugin. This looks like exactly what I need.
So, I am using “Announcer” plugin to show notifications to logged in users. I am also using “WP-Optimize” plugin for caching pages. “Announcer” plugin allows me to show dynamic content (current user role) to logged in users based on WooCommerce purchase. However, when the page gets cached, notification bar gets cached as well at the same time so the user role in the notification bar remains unchanged, regardless of WooCommerce purchase.
As far as I understand, “Content No Cache” plugin excludes specific elements from the cache by wrapping dynamic content into CNC shortcode. After pasting my shortcode for dynamic content [xyz-ips snippet=”User-Role”] to CNC shortcode, dynamic content wasn’t recognized in the notification bar and there is an infinite spinning wheel in the notification bar instead of user role.
Here is the screenshot of “Announcer” without “Content No Cache plugin” to get better idea what I am talking about: https://snipboard.io/tSQsmw.jpg
Here is also the screenshot of “Announcer” plugin with “Content No Cache plugin”: https://snipboard.io/nPCBSJ.jpg
Do you have any idea what could be wrong here? Thanks a bunch for your help!
Hello dear Jose;
First of all I’d like to thank you for this smart plugin. Excellent idea and it looks exactly like what I need. Here is my issue:
I am using WP-Rocket that is caching my website fine but… Unfortunately when it serves my pages where there are images I have created with the famous Essential Grid Plugin, the images are not shown :/
I am already using a shortcode [ess_grid alias=”xoxis”] to place my Essential Grid Carousel in the page which is the element I would like to make “no-cache” using your plugin, preventing WP-Rocket from caching it…As it is a dynamic php page, I use this shortcode like this:
echo do_shortcode('[ess_grid alias="xoxis"]');
I have also created a shortcode using your plugin [content_no_cache id=”11988″]
But I did not understand how to use this 2 shortcodes together?
Will it then become something like this: Can this be correct?
echo do_shortcode('[ess_grid alias="xoxis" content_no_cache id="11988"]');
Sorry if what I wrote is ridiculous: I do not know much about coding :/
Can you please show me the way.? Thanks so much for your time. It really means a lot to me. Take care.
]]>Hi there,
I wanted to exclude it from being delayed, because I have in the header a note which says Free Shipping over XX.XX, where the vlaue is depend on the visitors country.
As of now it gets loaded delayed, and I am not able to find the js file that I can exclude, would be great to have some guidance here.
Using WpRocket btw.
]]>Is there a reason the no-cache content won’t display to incognito users (it says “You do not have sufficient permissions to access this page.”) Is there a workaround please?
]]>Hello
very nice plugin
is it possible to actually no cache a whole main menu ? or maybe just a specific link in the menu ?
thanks
]]>Hello I used to use the content no cache plugin on my sso shortcode “my account” / “login” button, it worked very well until your last update, but since then it doesn’t work anymore, instead of displaying my sso login link, it displays an infinite loading wheel, this is not visible on the page because I added my sso shorcode directly so as not to block users, but the button is now cached so I can no longer disconnect once connected
]]>Hi Jose,
Thanks for creating a great plugin.
I see you updated a HOOK to version 0.0.9. But I can’t find instructions on how to use this hook.
Can you share more about it?
Can I pass post_id, post_catelogy data to process with Ajax?
Thanks a lot!
]]>1.0 release broke a completely functioning plugin. I’ve had to revert to 0.8 for now. I don’t know if this is specific to Elementor, but after upgrading, the content just simply doesn’t display and adds a ton of spacing (albeit, empty space with no visible elements) around where the content is supposed to show. There’s an error on the admin-ajax call, I’ve disabled plugins that relate to managing permissions on WP REST and other security related plugins. Nothing fixes it. As soon as I reverted back to 0.8, everything works again.
Please do more regression testing, at least in regards to Elementor and the Astra theme. That’s where I’m experiencing the issues.
With that being said, thank you for creating such a great plugin! ??
]]>Hello dear @giuse! Thank you once again for this inspired plugin!
After the last update, request=”remote” doesn’t work properly for me. The content seems to be loading but does not ever display.
Thank you in advance.
I’m trying to manipulate the price on a single product page and have it not cache utilizing your plugin. My understanding of it is I need to create my own shortcode for the custom PHP that goes into functions.php, then reference that shortcode in the shortcode generated by this plugin since I can’t add PHP code to the shortcode text area for this plugin. That part is working in testing, the custom shortcode I added to functions.php properly adds content where I tell it to. It however does not add the content I’m looking to actually add. So I can send it basic information and it will display that, but if I try to call any WP or WooCommerce attributes, the global functions return nothing, and the script fails:
global $product;
function new_price(){
$attr = esc_attr( apply_filters( 'woocommerce_product_price_class', 'price' ) );
$price = $product->get_price_html();
return '<p class=".$attr.">.$price.</p>';
}
add_shortcode('n_price', 'new_price');
The most recent bit of code I was tinkering with to try and see what I CAN get to work does return what I want, but obviously it’s doing it based off of a static post ID “108680”.
add_shortcode('n_price', 'new_price');
function no_cache_price($price, $product){
global $post;
$product = wc_get_product( 108680 );
$attr = esc_attr( apply_filters( 'woocommerce_product_price_class', 'price' ) );
$price = $product->get_price_html();
return '<p class="'.$attr.'">'.$price.'post '.$post.'post_id: '.$post_id.'</p>';
}
The most recent bit of code does return the price with the get_price_html() utilizing the data from wc_get_product( 108680 ). My goal is to have this just work dynamically with whatever page its on, but no matter where I put different global $post, $woocommerce, $post, etc. it doesn’t pull anything in for those. The return line with the different variables is just to see if anything at all is being defined for $post, $post_id with the different tests I’ve been doing, and nothing has worked to identify the page I’m on. So I’m at a loss as to how/why the script doesn’t know what page it’s on.
]]>Hi there,
I created a shortcode with the help of OpenAI to display the avatar(custom user meta) of author. The shortcode is working but not as expected when I use the shortcode inside the CNC(Content No Cache) and the CNC shortcode on the post page. It always returns with the fallback image instead of the author avatar. However, the shortcode works fine when I use the original shortcode directly on the post page.
For example:
Working as expected: [current_author_avatar]
Not working as expected: [content_no_cache id=”5187″]
How to fix this issue?
Code I am using:
function current_author_avatar_shortcode() {
if ( is_author() ) {
$user_id = get_queried_object_id(); // Gets the author ID for author archives
} else {
$user_id = get_the_author_meta('ID'); // Gets the author ID for single post pages
}
$user = get_user_by( 'id', $user_id );
$first_name = $user->first_name;
$last_name = $user->last_name;
$avatar_url = get_user_meta($user_id, 'user_avatar', true);
if (empty($avatar_url)) {
$avatar_url = 'https://static.domain.net/data/static-media/system-default/avatar.png';
}
$output = '<div class="user-avatar-con"><img class="user-avatar" src="' . $avatar_url . '" alt="' . $first_name . ' ' . $last_name . '"></div>';
return $output;
}
add_shortcode('current_author_avatar', 'current_author_avatar_shortcode');
]]>
Hello
nice plugin but work this plugin with Metabox I have a custom fild that have a shortcode from a Calendar and is posibl to exclude from cash this field
thx
]]>Hi I added this PHP to the plugins non-cachable content editor (text view)
<?php echo "hi"; ?>
When I view the source it looks like this:
<!--?php echo "hi"; ?-->
Any idea why the PHP isn’t rendering?
I am using WP Rocket.
]]>Hello.
I have 13 shortcodes in total.
But on a page where only 1 or 2 shortcodes are used, 13 HTTP requests are visible. Considering that they are all POST type and with value no-cache – it’s terribly loading the serve.
There is a way to reduce the number of non-cached requests to the number of used specifics on the page?
]]>Hello, thanks for the plugin! Can you help me firgure out how to add Elementor elements to this plugin?
For example if I want to make a gallery or post feed non-cache.
I noticed the box only allows text when creating no cache content, I’m not sure how to things like galleries or post feeds.
]]>It would be great if the plugin could still display a spinner during the loading process. Can this be done now with a few lines of code (which you have already implemented somewhere) or would this have to be developed first? Thanks in any case for the plugin – really helps in everyday life to get websites faster
]]>I have a problem in that I use ‘Justified Image Grid’ to deliver a grid of images on my page. This grid of images needs to be different on each page load – which means I can’t cache the page.
I was hoping this plugin would allow me to get around that, so I pasted the JIG shortcode into Content No Cache, and then that shortcode in place of the gallery – but nothing showed at all.
]]>Hello:
First of all, thanks for such a great and useful plugin.
I have been using it to get some information in real time and it works perfectly well. I have been using $wpdb global variable without any problem, but unfortunately when using $post it seems to be always empty although it has been declared as global in the function.
Am I missing something? Could this be solved?
Thanks!
Hi Jose,
I just found this plugin, which seems to be interesting and could be a huge advantage for dynamic sites.
I understand that you can prevent content from being cached using the shortcode. My questions is, would you consider having a functionality that would allow to cache elements with specific class or ID? It would be game-changer ex. for e-learning sites.
For example my courses have static content and elements like progress bar, lesson, list etc. Those cannot be cached because they have to be updated based on user input. What if adding a certain class to a progress bar element would prevent it from being cached and so on. Is it even possible?
BEst
Simon
Hi there,
As I use WP-Optimize to cache my pages, I found an issue with dynamic Post Views & Likes displayed using the Theme I am using.
Hence I think this Plugin can solve to exclude those parts from being cached. But I do not really understand, how I need to set this up, as the documentation is lacking examples of exactly this point where it just says “Add to that element all the content that you want to exclude from the cache” ?
I want to exclude the HTML part of my blog to not be cached anymore:
<ul class="bwp-post-counters list-unstyled clearfix">
<li class="bwp-views-count">
<a href="#"><i class="fa fa-eye"></i>21</a>
</li>
<li class="bwp-likes-count">
<span class="jm-post-like"><a href="#" data-post_id="9773"><span class="like"><i class="fa fa-heart-o"></i></span><span class="count">0</span></a></span>
</li>
</ul>
Questions
Thanks for some further explanation on how to use the Plugin for this case – or if I might be wrong and it can’t help for this.
]]>Hi, just wanted to say great plugin! However I’ve run into a bit of an issue with a shortcode I created that relies on $_GET to get a date querystring param from the url to load dynamic data from the DB. I noticed that you mentioned in another thread that this plugin doesn’t/can’t support Code Snippets (which is where I located the code). Easy enough for me to put it in my child theme functions.php though. Here’s a simplified version of what I’m doing…
if( isset($_GET['date'] ) && $_GET['date'] ){ $now = strtotime($_GET['date']); }else{ $now = time(); } //print_r( $_GET ); //This now gives: Array ( [action] => eos_dyn_get_content ) //Simplified *unsafe* sql for brevity $sql = "SELECT * FROM mqq_participants_database WHERE UNIX_TIMESTAMP(
show_from
) <= $now AND UNIX_TIMESTAMP(show_to
) >= $now ORDER BYshow_from
DESC LIMIT 1";
As I’m currently testing, it’s not urgent and I will be removing the user-supplied ($_GET) date, relying solely on the current time, but possible I’ll be making an interactive section in another page.
Wondering if there’s a workaround or if it’s just my rotten luck to have chosen Code Snippets?
]]>I’m trying this with content that includes a shortcode for the plugin “Folder Gallery”, which makes reference to a folder on the same server as the website and pulls in thumbnails. I’m getting a “Unable to find the directory” See image; regular widget above; below same delivered by CNC
I’ve tried adding request=”remote”to shortcode
]]>