version 2.29.15 to 2.29.16: different output and args won’t work
Hi Team,
i have a widget like in https://siteorigin.com/docs/widgets-bundle/getting-started/creating-a-widget/
In your plugin version 2.29.16 i have two problems:
1. the siteorigin_widget_post_selector_process_query like in https://siteorigin.com/docs/widgets-bundle/form-building/post-selector/ handels my args wrong:
With
$processed_query = siteorigin_widget_post_selector_process_query( $query, true ); parse_str($loop_query, $output);
the $output becomes [amp;posts_per_page] => 6 insteadt of [posts_per_page] => 6 for example. In 2.29.15 it’s correct.
2. The do_shortcode function can’t handle the code like
echo do_shortcode('[siteorigin_widget class="my_Hero_SOWidget"] <input type="hidden" value="' . $args . '" /> [/siteorigin_widget]');and it returns nothing.
In 2.29.15 i get the correct content.
I know this is hard to say, but if you have an idea where I can start looking for a solution I would be grateful.
Best wishes
Rico
This is our free support forum. Replies can take several days.
Need fast email support? Get SiteOrigin Premium
Replies
3Hi Rico,
Thanks for reaching out.
1. Can you please provide me with an example of what your query looks like? I’ve run a few tests and I can’t seem to replicate the described issue.
2. Unfortunately, the siteorigin_widget shortcode no longer supports HTML due to potential security concerns. I recommend creating a custom shortcode or directly rendering the widget using the_widget.
Kind regards,
Alex
Hi Alex,
thank you.
1.: i have an example today with the following code in my page
$args = [ 'instance' => [ 'loop_headline' => __('News', 'mysite') , 'loop_query' => 'post_type=post&posts_per_page=3&ignore_sticky_posts=1&meta_key=ref_post_id&meta_value=' . $post->ID, 'args' => [ 'widget_id' => 'post-' . $post->ID, ], ] ]; echo do_shortcode('[siteorigin_widget class="Efna_Loop_SOWidget"] <input type="hidden" value="' . esc_attr(json_encode($args)) . '" /> [/siteorigin_widget]');and in my widget tpl/
In 2.29.16 now i have to set
$processed_query = siteorigin_widget_post_selector_process_query( $loop_query ); $loop_query = is_array($loop_query) ? array_map('htmlspecialchars_decode', $loop_query) : htmlspecialchars_decode($loop_query);2.: good to know.
In my $args i have now comment out the parameters with html content like
$args = [ 'instance' => [ 'loop_headline' => __('News', 'mysite') , 'loop_query' => 'post_type=post&posts_per_page=3&ignore_sticky_posts=1&meta_key=ref_post_id&meta_value=' . $post->ID, 'args' => [ // 'before_widget' => '<div id="panel-' . $post->ID. '" class="so-panel widget widget_efna-loop-sowidget mb-4" data-index="" data-style="" >', // 'after_widget' => '</div>', // 'before_title' => '<h2 class="widget-title">', // 'after_title' => '</h2>', 'widget_id' => 'post-' . $post->ID, ], ] ];What is the best solution if i need indidividuell html tag there?
Wrong code block: the third code is
$loop_query = is_array($loop_query) ? array_map('htmlspecialchars_decode', $loop_query) : htmlspecialchars_decode($loop_query); $processed_query = siteorigin_widget_post_selector_process_query( $loop_query );Replies on this thread are closed.
Please create a new thread if you have a question, or purchase a SiteOrigin Premium license if you need one-on-one email support.