Shortcode Always True in Widgets
Opened this issue · 1 comments
goxmedia commented
When placing a shortcode within a text widget, it always executed regardless of whether or not the configuration is set to false:
Shortcode.php
public function renderCallback($attributes, $content = null)
{
if (is_admin()) {
return null;
}
$this->attributes = shortcode_atts($this->config->defaults, $attributes, $this->config->shortcode);
$this->content = $this->config->doShortcodeWithinContent === true
? do_shortcode($content)
: $content;
return $this->render();
}
Custom Shortcode
return [
'autoload' => true,
'classname' => '',
'config' => [
'shortcode' => 'section',
'defaults' => [
'link' => '#',
'thumbnail' => '#',
'header_tag' => 'h3',
'title' => '',
'button_title' => 'Access Now',
],
'doShortcodeWithinContent' => false,
'view' => $rootPath . 'src/Shortcode/views/section.php',
],
];
SidebarRegister.php
protected function initEvents()
{
add_action('init', [$this, 'run'], 20);
//add_filter('widget_text', 'do_shortcode');
}
Is this behavior expected since WP 4.9?
https://make.wordpress.org/core/2017/10/24/widget-improvements-in-wordpress-4-9/
goxmedia commented