a:8:{s:4:"name";s:17:"cml_post_comments";s:7:"version";s:3:"0.1";s:6:"author";s:12:"Chris McLeod";s:10:"author_uri";s:27:"http://www.pixelmeadow.com/";s:11:"description";s:44:"Put TXP Comments Anywhere on an Article Page";s:4:"help";s:1040:"
	<h1>cml_post_comments</h1>

	<p>This plugin is part of a hack to allow Textpattern comments to be placed anywhere on an article page.  It will give you a new tag <code>&lt;txp:post_comments /&gt;</code>.  Place this tag anywhere on your page where you want the comments to be. You&#8217;ll want to surround it with <code>&lt;txp:if_individual_article&gt;</code> tag so that it&#8217;s only displayed on an article page. If you don&#8217;t, you&#8217;ll most likely get a load of errors.</p>

	<p>The other part of this hack was to find the following code in publish.php, at around line 387  it&#8217;s at the end of the <code>doArticle()</code> function.</p>

<code><br />
if (($Annotate or $com_count) &#38;&#38; !$preview) {<br />
if($use_comments) {<br />
$article .= discuss($ID);<br />
}<br />
}<br />
</code>

	<p>Comment that out, or delete it.<br />
You should be ready to go.</p>

	<p>The <a href="http://www.pixelmeadow.com/blog/2005/1/12/comments-anywhere/">full instructions</a> are available at the pixelmeadow site.</p>



 ";s:4:"code";s:169:"function post_comments($atts){
global $thisarticle;
$preview = ps('preview');
if ($thisarticle['if_comments'] && !$preview) {
return discuss($thisarticle['thisid']);
}
}";s:3:"md5";s:32:"52425a500d7396a1606fc51a8265cbe7";}