<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
It's a pretty rare occurrence because no one's ever mentioned it,
but it something that should definitely be cleaned up.<br>
<br>
I could see this being problematic with any theme that creates
custom widgets. Outside of WP_DEBUG issues, it doesn't sound like a
great user experience if the widget options aren't being saved.<br>
<br>
On 2/22/2012 2:22 PM, Sayontan Sinha wrote:
<blockquote
cite="mid:CAHFjg71BDKeX5Y9spXo2fXxgcy-5df8aV62Xao=3VGK24ZxoAQ@mail.gmail.com"
type="cite">Justin,<br>
I did notice this problem with your theme earlier, and IIRC it can
be replicated even in a dynamic sidebar. Here is how I could
replicate it:<br>
<ol>
<li>Assume I am running version x of your theme. I have some
widgets that I have added to the sidebar.</li>
<li>I then switch to another theme. Obviously your widgets don't
exist there, so I add this new theme's widgets.</li>
<li>Now, you release version x+1 of your theme. When I activate
it, I see the old Hybrid widgets I had added in the "Inactive
Widgets" area.</li>
<li>So I drag those widgets from my "Inactive Widgets" to the
sidebars. This means I don't have to save anything on the
sidebar: not even the old widgets. Following this if I refresh
the front-end I get a bunch of notices.<br>
</li>
</ol>
I haven't tried this recently, so I am not sure if the problem can
be replicated in this manner.<br>
<br>
Sayontan.<br>
<br>
<div class="gmail_quote">On Wed, Feb 22, 2012 at 12:07 PM, Justin
Tadlock <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:justin@justintadlock.com">justin@justintadlock.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> <big><big><big>One
thing I recently noticed with my themes that have
widgets is that I get some undefined index/variable
notices when using the_widget() function to output a
widget created by my theme. This wouldn't show up
unless someone actually used the_widget() function.
Using it as a regular widget in a dynamic sidebar is
fine because the variables always get set on widget
save.<br>
<br>
This issue arises when you're building a widget with
options. Typically, you'd grab these options from the
$instance parameter for the widget() method. When
calling the_widget( 'My_Widget_Class' ); in my theme,
WP_DEBUG goes crazy. The problem is simply that
there's no checks if $instance['some_option'] has been
set.<br>
<br>
I'm going through all my widgets right now to update
them for this use case. I don't think it's overly
important because it's a pretty rare scenario and
definitely one you wouldn't notice in a typical
review, but I thought I'd post it here for you all.</big></big></big>
</div>
<br>
_______________________________________________<br>
theme-reviewers mailing list<br>
<a moz-do-not-send="true"
href="mailto:theme-reviewers@lists.wordpress.org">theme-reviewers@lists.wordpress.org</a><br>
<a moz-do-not-send="true"
href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers"
target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
Sayontan Sinha<br>
<a moz-do-not-send="true" href="http://mynethome.net"
target="_blank">http://mynethome.net</a> | <a
moz-do-not-send="true" href="http://mynethome.net/blog"
target="_blank">http://mynethome.net/blog</a><br>
--<br>
Beating Australia in Cricket is like killing a celebrity. The
death gets more coverage than the crime.<br>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
theme-reviewers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:theme-reviewers@lists.wordpress.org">theme-reviewers@lists.wordpress.org</a>
<a class="moz-txt-link-freetext" href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a>
</pre>
</blockquote>
</body>
</html>