it’s a filter function – air gets the HTML to output ($content) and (in this case) the widget ID. all you have to do is modify the $content and return it. a bit like the code at the end of http://wordpress.org/extend/plugins/widget-logic/other_notes/
something like
return $content.”<div>TEST</div>”;
will give you the right idea
Thread Starter
squidz
(@squidz)
alanft –
My “Test” content shows up just fine. BUT it shows in ALL widgets. So, what I don’t understand is how the function knows what the $widget_id variable is.
Hows does $widget_id get a value (presumably the widget ID “query-posts-3”) assigned to it?
I’ve played with this for days now with only the ability to append text to every widget I’m using. That is why I’m here asking for assistance. I do not know how to get the plugin/function to ONLY apply the text “TEST” to the one widget I’m targeting.
The $widget_id is a string value that represents the CSS style ID for the LI that contains the widget (i.e., <li id="text-3">widget stuff</li>
… in this case, $widget_id = “text-3”). It’s not a value to change, but a value that changes based on the particular widget being dealt with by WP at a given moment. A good example to see it in action is to set up 2-3 widgets in a test site, and place the following in your functions.php file:
add_filter('widget_content', 'my_widget_function', 90, 2);
function my_widget_function( $content='', $widget_id='') {
return $content . '<p>This widget\'s style ID = ' . $widget_id . '</p>';
}
So, as you will see, each widget will contain whatever content is already in it AND at the end of each widget’s content will be “This widget’s style ID = <current widget ID>”.
HTH.
@squidz, you have to change your function. first off get rid of the text that outputs the TEST text every time it’s called
?><div>TEST</div><?php
and instead get it to RETURN the text you want, e.g.
return $content."ID=".$widget_id;
which will instead put the widget_id at the end of the widget content. Then you can alter it to have conditional changes to what it returns.
Thread Starter
squidz
(@squidz)
We worked it out and have it under control now Alan. But it took a bunch of trial and error.
Widget Logic isone of the most useful plugins around and this particular feature can quite powerful too. To allow people that aren’t full-on developers to exploit it, including a clear and straightforward example of how to use the feature on Widget Logic’s “Other Notes” page would be a wonderful thing.
i’ve added a tiny bit extra text in the documentation (not yet updated on wordpress.org) that should give people the nudge needed.