I like the implementation, but we'll have to be careful about the assumptions.<div><br></div><div>For example: wp_footer() will NOT always be in footer.php. It can (legitimately) be in index.php (or any hierarchical template file (archive.php, page.php, attachment.php, 404.php, etc.).</div>
<div><br></div><div>Chip<br><br><div class="gmail_quote">On Wed, Oct 13, 2010 at 11:32 AM, Otto <span dir="ltr"><<a href="mailto:otto@ottodestruct.com">otto@ottodestruct.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Well, regardless, I do have a simple structure I've been working on to make the theme checker more easily expandable. It uses a simple class based mechanism to allow us to easily add theme checks in on-the-fly. I'll have something soon to demonstrate and hopefully allow people to help me write the checks for it.<br>
<br>It's *very* simple at the moment though. I'll give you a quick example of a check I've written for it:<br><div><br></div><div>class Footer_Check implements themecheck {</div><div><span style="white-space:pre-wrap">        </span>protected $error = null;</div>
<div><span style="white-space:pre-wrap">        </span>function check( $php_files, $css_files, $other_files) {</div><div><span style="white-space:pre-wrap">                </span>if( strpos( $php_files['footer.php'], 'wp_footer' ) === false ) {</div>
<div><span style="white-space:pre-wrap">                        </span>$error = "The footer.php file does not have a wp_footer() call in it. This is required.";</div><div><span style="white-space:pre-wrap">                        </span>return false;</div>
<div><span style="white-space:pre-wrap">                </span>}<span style="white-space:pre-wrap">        </span></div><div><span style="white-space:pre-wrap">                </span>return true;</div><div>
<span style="white-space:pre-wrap">        </span>}<span style="white-space:pre-wrap">        </span></div><div><span style="white-space:pre-wrap">        </span>function getError() { return $error; }</div>
<div>}</div><div>$themechecks[] = new Footer_Check;</div><div><br></div><div><br></div>That code adds the wp_footer check in and any incoming themes will then get run through it. Adding new checks is as simple as creating one of those and popping it in a new file in the right place. No limit on number of checks. All errors found will be returned.<br>
<font color="#888888">
<br>-Otto<br><div><br></div>
</font><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></div>