<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18928">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Yup, that works for me, added to actual 
page</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> 
  <A title=rahul286@gmail.com href="mailto:rahul286@gmail.com">Rahul Bansal</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  title=theme-reviewers@lists.wordpress.org 
  href="mailto:theme-reviewers@lists.wordpress.org">theme-reviewers@lists.wordpress.org</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, January 25, 2011 12:14 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [theme-reviewers] 
  add_theme_page()</DIV>
  <DIV><BR></DIV><SPAN 
  style="BORDER-COLLAPSE: collapse; FONT-FAMILY: arial, sans-serif; FONT-SIZE: 13px" 
  class=Apple-style-span>
  <DIV style="COLOR: rgb(80,0,80)" class=im>
  <BLOCKQUOTE 
  style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
  class=gmail_quote>If you have any links that you would like added to 
    the&nbsp;<A style="COLOR: rgb(0,0,204)" 
    href="http://make.wordpress.org/themes" 
    target=_blank>make.wordpress.org/themes</A>&nbsp;site, sure pass em 
  over</BLOCKQUOTE></DIV>
  <DIV>Cool. Added it here -&nbsp;<A style="COLOR: rgb(0,0,204)" 
  href="http://make.wordpress.org/themes/about/resources/" 
  target=_blank>http://make.wordpress.org/themes/about/resources/</A>&nbsp;via 
  comment form.&nbsp;</DIV>
  <DIV>Daniel really made everything so simple!</DIV>
  <DIV><BR></DIV></SPAN><BR clear=all>--<BR>Rahul Bansal | Founder &amp; CEO | 
  rtCamp Solutions Pvt. Ltd.<BR>Mobile: +91-9860501882 | Web: <A 
  href="http://rtcamp.com/" target=_blank>http://rtcamp.com/</A><BR><BR><BR><BR>
  <DIV class=gmail_quote>On Tue, Jan 25, 2011 at 1:39 PM, Philip M. Hofer 
  (Frumph) <SPAN dir=ltr>&lt;<A 
  href="mailto:philip@frumph.net">philip@frumph.net</A>&gt;</SPAN> wrote:<BR>
  <BLOCKQUOTE 
  style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
  class=gmail_quote>
    <DIV bgcolor="#ffffff">
    <DIV><FONT size=2 face=Arial>If you have any links that you would like added 
    to the <A href="http://make.wordpress.org/themes" 
    target=_blank>make.wordpress.org/themes</A> site, sure pass em 
    over</FONT></DIV>
    <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
    <DIV><FONT size=2 face=Arial>i'll see who'se handling those pages and talk 
    to them about it</FONT></DIV>
    <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
    <DIV>&nbsp;</DIV>
    <BLOCKQUOTE 
    style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
      <DIV class=im>
      <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
      <DIV style="FONT: 10pt arial; BACKGROUND: #e4e4e4"><B>From:</B> <A 
      title=rahul286@gmail.com href="mailto:rahul286@gmail.com" 
      target=_blank>Rahul Bansal</A> </DIV></DIV>
      <DIV class=im>
      <DIV style="FONT: 10pt arial"><B>To:</B> <A 
      title=theme-reviewers@lists.wordpress.org 
      href="mailto:theme-reviewers@lists.wordpress.org" 
      target=_blank>theme-reviewers@lists.wordpress.org</A> </DIV></DIV>
      <DIV>
      <DIV></DIV>
      <DIV class=h5>
      <DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, January 24, 2011 11:49 
      PM</DIV>
      <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [theme-reviewers] 
      add_theme_page()</DIV>
      <DIV><BR></DIV>Really good - added to our internal wiki. We all will be 
      surely using this way only going ahead! :-) 
      <DIV>
      <DIV><BR></DIV>
      <DIV>@WPTRT</DIV>
      <DIV>Just a&nbsp;suggestion&nbsp;- if such tutorials can be collected 
      somewhere for easy reference and then everytime you recommends something, 
      you may share a link to alternative (and better) solution that is 
      acceptable.</DIV>
      <DIV>I know this will be extra work for you so a page on codex may be 
      devoted for this where dev may find quick-help.<BR>
      <DIV><BR clear=all>--<BR>Rahul Bansal | Founder &amp; CEO | rtCamp 
      Solutions Pvt. Ltd.<BR>Mobile: +91-9860501882 | Web: <A 
      href="http://rtcamp.com/" 
      target=_blank>http://rtcamp.com/</A><BR><BR><BR><BR>
      <DIV class=gmail_quote>On Tue, Jan 25, 2011 at 8:11 AM, Amy <SPAN 
      dir=ltr>&lt;<A href="mailto:sabreuse@gmail.com" 
      target=_blank>sabreuse@gmail.com</A>&gt;</SPAN> wrote:<BR>
      <BLOCKQUOTE 
      style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
      class=gmail_quote>
        <DIV bgcolor="#FFFFFF">
        <DIV>Fantastic tutorial, Daniel - definitely one that I'll be coming 
        back to.&nbsp; 
        <DIV>
        <DIV></DIV>
        <DIV><BR><BR>On Jan 24, 2011, at 9:07 PM, Josh Stauffer &lt;<A 
        href="mailto:joshstauffer@gmail.com" 
        target=_blank>joshstauffer@gmail.com</A>&gt; 
        wrote:<BR><BR></DIV></DIV></DIV>
        <DIV>
        <DIV></DIV>
        <DIV>
        <DIV></DIV>
        <BLOCKQUOTE type="cite">
          <DIV>
          <DIV>And a tweet from me.</DIV><BR clear=all>Josh<BR><BR><BR>
          <DIV class=gmail_quote>On Mon, Jan 24, 2011 at 7:38 PM, Edward Caissie 
          <SPAN dir=ltr>&lt;<A href="mailto:edward.caissie@gmail.com" 
          target=_blank></A><A href="mailto:edward.caissie@gmail.com" 
          target=_blank>edward.caissie@gmail.com</A>&gt;</SPAN> wrote:<BR>
          <BLOCKQUOTE 
          style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
          class=gmail_quote>Added a Tweet, too ... 
            <DIV>
            <DIV></DIV>
            <DIV><BR><BR>
            <DIV class=gmail_quote>On Mon, Jan 24, 2011 at 6:55 PM, Emil Uzelac 
            <SPAN dir=ltr>&lt;<A href="mailto:emil@themeid.com" 
            target=_blank></A><A href="mailto:emil@themeid.com" 
            target=_blank>emil@themeid.com</A>&gt;</SPAN> wrote:<BR>
            <BLOCKQUOTE 
            style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex" 
            class=gmail_quote>
              <DIV>Good job, tweeted as well :)</DIV>
              <DIV><BR clear=all>&nbsp;</DIV>
              <DIV><FONT size=1><B>Emil Uzelac</B> | ThemeID | T: 224-444-0006 | 
              Twitter: <A href="http://twitter.com/emiluzelac" 
              target=_blank>@EmilUzelac</A> | E: </FONT><A 
              href="mailto:emil@themeid.com" target=_blank><FONT 
              size=1>emil@themeid.com</FONT></A><FONT size=1> | </FONT><A 
              href="http://themeid.com/" target=_blank><FONT 
              size=1>http://themeid.com</FONT></A></DIV>
              <DIV><FONT size=1><FONT color=#666666><I>Make everything as simple 
              as possible, but not simpler.</I> - Albert 
              Einstein</FONT></FONT></DIV>
              <DIV>
              <DIV></DIV>
              <DIV><BR><BR><BR>
              <DIV class=gmail_quote>On Mon, Jan 24, 2011 at 5:49 PM, Chip 
              Bennett <SPAN dir=ltr>&lt;<A href="mailto:chip@chipbennett.net" 
              target=_blank></A><A href="mailto:chip@chipbennett.net" 
              target=_blank>chip@chipbennett.net</A>&gt;</SPAN> wrote:<BR>
              <BLOCKQUOTE 
              style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
              class=gmail_quote>*jaw drops* 
                <DIV><BR></DIV>
                <DIV>Now *that* is an awesome tutorial! Well done, Daniel!</DIV>
                <DIV><BR></DIV>
                <DIV>(Tweeted)</DIV>
                <DIV><BR></DIV>
                <DIV><FONT color=#888888>Chip</FONT> 
                <DIV>
                <DIV></DIV>
                <DIV><BR><BR>
                <DIV class=gmail_quote>On Mon, Jan 24, 2011 at 5:34 PM, Daniel 
                Tara <SPAN dir=ltr>&lt;<A href="mailto:contact@onedesigns.com" 
                target=_blank></A><A href="mailto:contact@onedesigns.com" 
                target=_blank>contact@onedesigns.com</A>&gt;</SPAN> wrote:<BR>
                <BLOCKQUOTE 
                style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
                class=gmail_quote>
                  <DIV lang=EN-US vlink="purple" link="blue">
                  <DIV>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">I wrapped this 
                  into and article. Hope it helps you and all developers in need 
                  out there:</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt"></SPAN>&nbsp;</P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt"><A 
                  href="http://www.onedesigns.com/tutorials/separate-multiple-theme-options-pages-using-tabs" 
                  target=_blank></A><A 
                  href="http://www.onedesigns.com/tutorials/separate-multiple-theme-options-pages-using-tabs" 
                  target=_blank>http://www.onedesigns.com/tutorials/separate-multiple-theme-options-pages-using-tabs</A></SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt"></SPAN>&nbsp;</P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt"></SPAN>&nbsp;</P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt"></SPAN>&nbsp;</P>
                  <P class=MsoNormal><B><SPAN 
                  style="FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
                  style="FONT-SIZE: 10pt"> <A 
                  href="mailto:theme-reviewers-bounces@lists.wordpress.org" 
                  target=_blank></A><A 
                  href="mailto:theme-reviewers-bounces@lists.wordpress.org" 
                  target=_blank>theme-reviewers-bounces@lists.wordpress.org</A> 
                  [mailto:<A 
                  href="mailto:theme-reviewers-bounces@lists.wordpress.org" 
                  target=_blank></A><A 
                  href="mailto:theme-reviewers-bounces@lists.wordpress.org" 
                  target=_blank>theme-reviewers-bounces@lists.wordpress.org</A>] 
                  <B>On Behalf Of </B>Sayontan Sinha<BR><B>Sent:</B> Monday, 
                  January 24, 2011 11:24 PM</SPAN></P>
                  <DIV>
                  <DIV></DIV>
                  <DIV><BR><B>To:</B> <A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank></A><A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank>theme-reviewers@lists.wordpress.org</A><BR><B>Subject:</B> 
                  Re: [theme-reviewers] add_theme_page()</DIV></DIV>
                  <P></P>
                  <DIV>
                  <DIV></DIV>
                  <DIV>
                  <P class=MsoNormal>&nbsp;</P>
                  <P style="MARGIN-BOTTOM: 12pt" class=MsoNormal>That would be a 
                  relief. Let me give it a try.</P>
                  <DIV>
                  <P class=MsoNormal>On Mon, Jan 24, 2011 at 1:12 PM, Daniel 
                  Tara &lt;<A href="mailto:contact@onedesigns.com" 
                  target=_blank></A><A href="mailto:contact@onedesigns.com" 
                  target=_blank>contact@onedesigns.com</A>&gt; wrote:</P>
                  <DIV>
                  <DIV>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">Creating tabs 
                  is as easy as this:</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt"></SPAN>&nbsp;</P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">function 
                  sayontan_admin_tabs( $current = 'general' ) {</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  $tabs = array( 'general' =&gt; 'General', 'layput' =&gt; 
                  'Layout', 'advanced' =&gt; 'Advanced' );</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  $links = array();</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  foreach( $tabs as $tab =&gt; $name ) :</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  if ( $current == $tab ) :</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  $links[] = "&lt;a class='nav-tab nav-tab-active' 
                  href='?page=sayontan_options&amp;tab=$tab'&gt;$name&lt;/a&gt;";</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  else :</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  $links[] = "&lt;a class='nav-tab' 
                  href='?page=sayontan_options&amp;tab=$tab'&gt;$name&lt;/a&gt;";</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  endif;</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  endforeach;</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  foreach ( $links as $link )</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  echo $link;</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">}</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt"></SPAN>&nbsp;</P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">if ( isset ( 
                  $_GET['tab'] ) ) :</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  $tab = $_GET['tab'];</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">else:</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  $tab = 'general';</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">endif;</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">switch ( $tab ) 
                  :</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  case 'general' :</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  // Whatever</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  break;</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  ...</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt">endswitch;</SPAN></P>
                  <P class=MsoNormal><SPAN 
                  style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt"></SPAN>&nbsp;</P>
                  <P class=MsoNormal><B><SPAN 
                  style="FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
                  style="FONT-SIZE: 10pt"> <A 
                  href="mailto:theme-reviewers-bounces@lists.wordpress.org" 
                  target=_blank></A><A 
                  href="mailto:theme-reviewers-bounces@lists.wordpress.org" 
                  target=_blank>theme-reviewers-bounces@lists.wordpress.org</A> 
                  [mailto:<A 
                  href="mailto:theme-reviewers-bounces@lists.wordpress.org" 
                  target=_blank></A><A 
                  href="mailto:theme-reviewers-bounces@lists.wordpress.org" 
                  target=_blank>theme-reviewers-bounces@lists.wordpress.org</A>] 
                  <B>On Behalf Of </B>Sayontan Sinha<BR><B>Sent:</B> Monday, 
                  January 24, 2011 10:47 PM<BR><B>To:</B> <A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank></A><A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank>theme-reviewers@lists.wordpress.org</A></SPAN></P>
                  <DIV>
                  <P class=MsoNormal><SPAN 
                  style="FONT-SIZE: 10pt"><BR><B>Subject:</B> Re: 
                  [theme-reviewers] add_theme_page()</SPAN></P></DIV>
                  <P class=MsoNormal>&nbsp;</P>
                  <BLOCKQUOTE 
                  style="BORDER-BOTTOM: medium none; BORDER-LEFT: 1pt solid; PADDING-BOTTOM: 0in; MARGIN: 5pt 0in 5pt 4.8pt; PADDING-LEFT: 6pt; PADDING-RIGHT: 0in; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in">
                    <P class=MsoNormal>Ideally, it would still have just one 
                    Theme Options page under</P>
                    <DIV>
                    <DIV>
                    <P class=MsoNormal><BR>appearance, and then use tabs or 
                    something else on its own page to<BR>separate the options 
                    out.</P></DIV></DIV></BLOCKQUOTE>
                  <DIV>
                  <DIV>
                  <P class=MsoNormal><BR>This is much easier said than done. I 
                  have been working towards getting tabs in place on one page 
                  (multiple calls to add_theme_page makes things look quite 
                  ugly), but there are simply too many limitations with the 
                  whole API to make this work effectively. Let me try to 
                  explain.<BR><BR><B><U>The Scenario:</U></B><BR>My theme has 
                  several options. Putting them all on one page causes a lot of 
                  issues, like sluggishness of the back-end and interference 
                  with PHP-Suhosin protection settings (though Suhosin can be 
                  tweaked). I originally had a 2-level tab system, with 
                  horizontal tabs at the top for different sections of settings, 
                  then vertical tabs within each section (that is similar to the 
                  kind of settings that the other folks are talking about). The 
                  tabs were all handled by JQuery. This works fine with a small 
                  number of options, but with a large number of options, the 
                  sluggishness shows up in the back-end. That was when I removed 
                  the horizontal tabs at the top level and used add_menu_page 
                  and add_submenu_page.<BR><BR>But with the recent enforcements 
                  of new rules and recommendations, I have had to do some major 
                  rework. I first rewrote the options framework to use the 
                  Settings API, but still with add_menu_page and 
                  add_submenu_page. Now I am rewriting again to get rid of the 
                  additional menu and roll it back to how the look was earlier, 
                  but with a difference: the entire set of options will not be 
                  loaded into browser memory in JQuery tabs. Instead, I will try 
                  to fetch each page as it is clicked, like the Theme 
                  Installation page in WP.<BR><BR><B><U>My attempts:</U></B></P>
                  <OL type=1>
                    <LI class=MsoNormal>I first simply created one options page, 
                    then included a set of links at the top. 
                    <BR><B><U>Issue:</U></B> Getting the links to behave as 
                    belonging within WP. E.g. If your admin panel is at <A 
                    href="http://host.com/wp-admin" target=_blank></A><A 
                    href="http://host.com/wp-admin" 
                    target=_blank>http://host.com/wp-admin</A>, your theme 
                    options page could be at <A 
                    href="http://host.com/wp-admin/themes.php?page=my-options" 
                    target=_blank></A><A 
                    href="http://host.com/wp-admin/themes.php?page=my-options" 
                    target=_blank>http://host.com/wp-admin/themes.php?page=my-options</A>. 
                    The tabs, however cannot be given links through the admin 
                    panel. In other words, to get a URL such as <A 
                    href="http://host.com/wp-admin/themes.php?page=my-sub-options-1" 
                    target=_blank></A><A 
                    href="http://host.com/wp-admin/themes.php?page=my-sub-options-1" 
                    target=_blank>http://host.com/wp-admin/themes.php?page=my-sub-options-1</A>, 
                    I HAVE to use add_theme_page. If I don't use add_theme_page, 
                    the page isn't added to the whitelist and will not show up. 
                    I cannot use other URLs, because then I will have something 
                    like this: <A 
                    href="http://host.com/wp-content/themes/my-theme/my-sub-options-1.php" 
                    target=_blank></A><A 
                    href="http://host.com/wp-content/themes/my-theme/my-sub-options-1.php" 
                    target=_blank>http://host.com/wp-content/themes/my-theme/my-sub-options-1.php</A>, 
                    which is just not done. 
                    <LI class=MsoNormal>To get around the above, I decided to 
                    bundle AJAX with the options page. So I have one options 
                    page accessible through <A 
                    href="http://host.com/wp-admin/themes.php?page=my-options" 
                    target=_blank></A><A 
                    href="http://host.com/wp-admin/themes.php?page=my-options" 
                    target=_blank>http://host.com/wp-admin/themes.php?page=my-options</A>. 
                    In there I have 5 links, each of which invokes AJAX to load 
                    the specific options page, while staying in <A 
                    href="http://host.com/wp-admin/themes.php?page=my-options" 
                    target=_blank></A><A 
                    href="http://host.com/wp-admin/themes.php?page=my-options" 
                    target=_blank>http://host.com/wp-admin/themes.php?page=my-options</A>. 
                    This way I only need to whitelist the main 
                    page.<BR><B><U>Issue:</U></B> Getting settings_fields() to 
                    generate _wp_http_referer different from admin-ajax.php. 
                    This is causing options.php to return 
                    admin-ajax.php?updated=true, which is not what I want. This 
                    is where I am stuck right now, but hopefully I will get over 
                    the hurdle soon. </LI></OL>
                  <P style="MARGIN-BOTTOM: 12pt" class=MsoNormal>I am looking 
                  forward to completing this exercise, so that other developers 
                  can learn from my (rather harsh) experience 
                  here.<BR><BR>Cheers,<BR>Sayontan.</P>
                  <DIV>
                  <P class=MsoNormal>On Mon, Jan 24, 2011 at 11:08 AM, Otto 
                  &lt;<A href="mailto:otto@ottodestruct.com" 
                  target=_blank></A><A href="mailto:otto@ottodestruct.com" 
                  target=_blank>otto@ottodestruct.com</A>&gt; wrote:</P>
                  <DIV>
                  <P style="MARGIN-BOTTOM: 12pt" class=MsoNormal>On Mon, Jan 24, 
                  2011 at 1:03 PM, Rahul Bansal &lt;<A 
                  href="mailto:rahul286@gmail.com" target=_blank></A><A 
                  href="mailto:rahul286@gmail.com" 
                  target=_blank>rahul286@gmail.com</A>&gt; wrote:<BR>&gt; What 
                  if theme offers so many options that it need to contains 4-5 
                  subpages?</P></DIV>
                  <P class=MsoNormal>Ideally, it would still have just one Theme 
                  Options page under<BR>appearance, and then use tabs or 
                  something else on its own page to<BR>separate the options 
                  out.<BR><BR>Realistically, I'd say a theme with that many 
                  options is too complex<BR>to begin with. Themes should be 
                  about the look of the site, not crazy<BR>functionality. Break 
                  the functionality parts out into plugins that go<BR>along with 
                  the theme or something like that.<BR><SPAN 
                  style="COLOR: rgb(136,136,136)"><BR>-Otto</SPAN></P>
                  <DIV>
                  <DIV>
                  <P 
                  class=MsoNormal>_______________________________________________<BR>theme-reviewers 
                  mailing list<BR><A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank></A><A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank>theme-reviewers@lists.wordpress.org</A><BR><A 
                  href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
                  target=_blank></A><A 
                  href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
                  target=_blank>http://lists.wordpress.org/mailman/listinfo/theme-reviewers</A></P></DIV></DIV></DIV>
                  <P style="MARGIN-BOTTOM: 12pt" class=MsoNormal><BR><BR 
                  clear=all><BR>-- <BR>Sayontan Sinha<BR><A 
                  href="http://mynethome.net/" target=_blank></A><A 
                  href="http://mynethome.net" 
                  target=_blank>http://mynethome.net</A> | <A 
                  href="http://mynethome.net/blog" target=_blank></A><A 
                  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.</P></DIV></DIV></DIV></DIV>
                  <P style="MARGIN-BOTTOM: 12pt" 
                  class=MsoNormal><BR>_______________________________________________<BR>theme-reviewers 
                  mailing list<BR><A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank></A><A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank>theme-reviewers@lists.wordpress.org</A><BR><A 
                  href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
                  target=_blank></A><A 
                  href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
                  target=_blank>http://lists.wordpress.org/mailman/listinfo/theme-reviewers</A></P></DIV>
                  <P style="MARGIN-BOTTOM: 12pt" class=MsoNormal><BR><BR 
                  clear=all><BR>-- <BR>Sayontan Sinha<BR><A 
                  href="http://mynethome.net/" target=_blank></A><A 
                  href="http://mynethome.net" 
                  target=_blank>http://mynethome.net</A> | <A 
                  href="http://mynethome.net/blog" target=_blank></A><A 
                  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.</P></DIV></DIV></DIV></DIV><BR>_______________________________________________<BR>theme-reviewers 
                  mailing list<BR><A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank></A><A 
                  href="mailto:theme-reviewers@lists.wordpress.org" 
                  target=_blank>theme-reviewers@lists.wordpress.org</A><BR><A 
                  href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
                  target=_blank></A><A 
                  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></DIV></DIV></DIV><BR>_______________________________________________<BR>theme-reviewers 
                mailing list<BR><A 
                href="mailto:theme-reviewers@lists.wordpress.org" 
                target=_blank></A><A 
                href="mailto:theme-reviewers@lists.wordpress.org" 
                target=_blank>theme-reviewers@lists.wordpress.org</A><BR><A 
                href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
                target=_blank></A><A 
                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></DIV></DIV><BR>_______________________________________________<BR>theme-reviewers 
              mailing list<BR><A 
              href="mailto:theme-reviewers@lists.wordpress.org" 
              target=_blank></A><A 
              href="mailto:theme-reviewers@lists.wordpress.org" 
              target=_blank>theme-reviewers@lists.wordpress.org</A><BR><A 
              href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
              target=_blank></A><A 
              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></DIV></DIV><BR>_______________________________________________<BR>theme-reviewers 
            mailing list<BR><A href="mailto:theme-reviewers@lists.wordpress.org" 
            target=_blank></A><A 
            href="mailto:theme-reviewers@lists.wordpress.org" 
            target=_blank>theme-reviewers@lists.wordpress.org</A><BR><A 
            href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
            target=_blank></A><A 
            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></DIV></BLOCKQUOTE>
        <BLOCKQUOTE type="cite">
          <DIV><SPAN>_______________________________________________</SPAN><BR><SPAN>theme-reviewers 
          mailing list</SPAN><BR><SPAN><A 
          href="mailto:theme-reviewers@lists.wordpress.org" 
          target=_blank>theme-reviewers@lists.wordpress.org</A></SPAN><BR><SPAN><A 
          href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
          target=_blank>http://lists.wordpress.org/mailman/listinfo/theme-reviewers</A></SPAN><BR></DIV></BLOCKQUOTE></DIV></DIV></DIV><BR>_______________________________________________<BR>theme-reviewers 
        mailing list<BR><A href="mailto:theme-reviewers@lists.wordpress.org" 
        target=_blank>theme-reviewers@lists.wordpress.org</A><BR><A 
        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></DIV></DIV></DIV></DIV></DIV>
      <P></P>
      <HR>

      <DIV class=im>
      <P></P>_______________________________________________<BR>theme-reviewers 
      mailing list<BR><A href="mailto:theme-reviewers@lists.wordpress.org" 
      target=_blank>theme-reviewers@lists.wordpress.org</A><BR><A 
      href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" 
      target=_blank>http://lists.wordpress.org/mailman/listinfo/theme-reviewers</A><BR></DIV>
      <P></P></BLOCKQUOTE></DIV><BR>_______________________________________________<BR>theme-reviewers 
    mailing list<BR><A 
    href="mailto:theme-reviewers@lists.wordpress.org">theme-reviewers@lists.wordpress.org</A><BR><A 
    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>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>theme-reviewers 
  mailing 
  list<BR>theme-reviewers@lists.wordpress.org<BR>http://lists.wordpress.org/mailman/listinfo/theme-reviewers<BR></BLOCKQUOTE></BODY></HTML>