<code><font color="#000000">
<font color="#0000BB">&lt;?php<br /></font><font color="#FF8000">/*<br />Plugin Name: Related Posts<br />Plugin URI: http://www.w-a-s-a-b-i.com/archives/2006/02/02/wordpress-related-entries-20/<br />Description: Returns a list of the related entries based on active/passive keyword matches.<br />Version: 2.02 + 404<br />Author: Alexander Malov &amp; Mike Lu<br />*/<br /><br />// Begin setup<br /><br /></font><font color="#007700">global </font><font color="#0000BB">$ran_plugin</font><font color="#007700">;<br />if (! isset(</font><font color="#0000BB">$ran_plugin</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$ran_plugin </font><font color="#007700">= </font><font color="#0000BB">true</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (isset(</font><font color="#0000BB">$_REQUEST</font><font color="#007700">[</font><font color="#DD0000">'setup'</font><font color="#007700">])) </font><font color="#FF8000">// Setup is initiated using related-posts.php?setup<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global </font><font color="#0000BB">$file_path</font><font color="#007700">, </font><font color="#0000BB">$user_level</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require_once(</font><font color="#0000BB">dirname</font><font color="#007700">(</font><font color="#0000BB">__FILE__</font><font color="#007700">).</font><font color="#DD0000">'/../../' </font><font color="#007700">.</font><font color="#DD0000">'wp-config.php'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">get_currentuserinfo</font><font color="#007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$user_level </font><font color="#007700">&lt; </font><font color="#0000BB">8</font><font color="#007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die (</font><font color="#DD0000">"Sorry, you must be at least a level 8 user."</font><font color="#007700">); </font><font color="#FF8000">// Make sure that user has sufficient priveleges<br /><br />// SQL query to setup the actual full-text index<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">require(</font><font color="#0000BB">dirname</font><font color="#007700">(</font><font color="#0000BB">__FILE__</font><font color="#007700">).</font><font color="#DD0000">'/../../' </font><font color="#007700">.</font><font color="#DD0000">'wp-config.php'</font><font color="#007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global </font><font color="#0000BB">$table_prefix</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$connexion </font><font color="#007700">= </font><font color="#0000BB">mysql_connect</font><font color="#007700">(</font><font color="#0000BB">DB_HOST</font><font color="#007700">,</font><font color="#0000BB">DB_USER</font><font color="#007700">,</font><font color="#0000BB">DB_PASSWORD</font><font color="#007700">) or die(</font><font color="#DD0000">"Can't connect.&lt;br /&gt;"</font><font color="#007700">.</font><font color="#0000BB">mysql_error</font><font color="#007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$dbconnexion </font><font color="#007700">= </font><font color="#0000BB">mysql_select_db</font><font color="#007700">(</font><font color="#0000BB">DB_NAME</font><font color="#007700">, </font><font color="#0000BB">$connexion</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!</font><font color="#0000BB">$dbconnexion</font><font color="#007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#0000BB">mysql_error</font><font color="#007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$sql_run </font><font color="#007700">= </font><font color="#DD0000">'ALTER TABLE `'</font><font color="#007700">.</font><font color="#0000BB">$table_prefix</font><font color="#007700">.</font><font color="#DD0000">'posts` ADD FULLTEXT `post_related` ( `post_name` ,'<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">' `post_content` )'</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$sql_result </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#0000BB">$sql_run</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$sql_result</font><font color="#007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo (</font><font color="#DD0000">"Congratulations! Full text index was created successfully!"</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo (</font><font color="#DD0000">" Something went wrong. Please check the instructions on how to setup the full text index manually."</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></font><font color="#FF8000">// End setup<br /><br />// Begin Related Posts<br /><br /></font><font color="#007700">function </font><font color="#0000BB">related_posts</font><font color="#007700">(</font><font color="#0000BB">$limit</font><font color="#007700">=</font><font color="#0000BB">5</font><font color="#007700">, </font><font color="#0000BB">$len</font><font color="#007700">=</font><font color="#0000BB">10</font><font color="#007700">, </font><font color="#0000BB">$before_title </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#0000BB">$after_title </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#0000BB">$before_post </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#0000BB">$after_post </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#0000BB">$show_pass_post </font><font color="#007700">= </font><font color="#0000BB">false</font><font color="#007700">, </font><font color="#0000BB">$show_excerpt </font><font color="#007700">= </font><font color="#0000BB">false</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;<br />global </font><font color="#0000BB">$wpdb</font><font color="#007700">, </font><font color="#0000BB">$post</font><font color="#007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">// Get option values from the options page<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$limit </font><font color="#007700">= </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'limit'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$len </font><font color="#007700">= </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'len'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$before_title </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'before_title'</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$after_title </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'after_title'</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$before_post </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'before_post'</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$after_post </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'after_post'</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$show_pass_post </font><font color="#007700">= </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'show_pass_post'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$show_excerpt </font><font color="#007700">= </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'show_excerpt'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">// Fetch keywords<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$postcustom </font><font color="#007700">= </font><font color="#0000BB">get_post_custom_values</font><font color="#007700">(</font><font color="#DD0000">'keyword'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (!empty(</font><font color="#0000BB">$postcustom</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$values </font><font color="#007700">= </font><font color="#0000BB">array_map</font><font color="#007700">(</font><font color="#DD0000">'trim'</font><font color="#007700">, </font><font color="#0000BB">$postcustom</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$terms </font><font color="#007700">= </font><font color="#0000BB">implode</font><font color="#007700">(</font><font color="#0000BB">$values</font><font color="#007700">, </font><font color="#DD0000">' '</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$terms </font><font color="#007700">= </font><font color="#0000BB">str_replace</font><font color="#007700">(</font><font color="#DD0000">'-'</font><font color="#007700">, </font><font color="#DD0000">' '</font><font color="#007700">, </font><font color="#0000BB">$post</font><font color="#007700">-&gt;</font><font color="#0000BB">post_name</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">// Make sure the post is not from the future<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$time_difference </font><font color="#007700">= </font><font color="#0000BB">get_settings</font><font color="#007700">(</font><font color="#DD0000">'gmt_offset'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$now </font><font color="#007700">= </font><font color="#0000BB">gmdate</font><font color="#007700">(</font><font color="#DD0000">"Y-m-d H:i:s"</font><font color="#007700">,(</font><font color="#0000BB">time</font><font color="#007700">()+(</font><font color="#0000BB">$time_difference</font><font color="#007700">*</font><font color="#0000BB">3600</font><font color="#007700">)));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">// Primary SQL query<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$sql </font><font color="#007700">= </font><font color="#DD0000">"SELECT ID, post_title, post_content, post_excerpt, "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"MATCH (post_name, post_content) "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"AGAINST ('$terms') AS score "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"FROM $wpdb-&gt;posts WHERE "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"MATCH (post_name, post_content) "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"AGAINST ('$terms') "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#007700">. </font><font color="#DD0000">"AND post_date &lt;= '$now' "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"AND (post_status IN ( 'publish',&nbsp;&nbsp;'static' ) &amp;&amp; ID != '$post-&gt;ID') "</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$show_pass_post</font><font color="#007700">==</font><font color="#DD0000">'false'</font><font color="#007700">) { </font><font color="#0000BB">$sql </font><font color="#007700">.= </font><font color="#DD0000">"AND post_password ='' "</font><font color="#007700">; }<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$sql </font><font color="#007700">.= </font><font color="#DD0000">"ORDER BY score DESC LIMIT $limit"</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">$wpdb</font><font color="#007700">-&gt;</font><font color="#0000BB">get_results</font><font color="#007700">(</font><font color="#0000BB">$sql</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$output </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$results</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (</font><font color="#0000BB">$results </font><font color="#007700">as </font><font color="#0000BB">$result</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$title </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">apply_filters</font><font color="#007700">(</font><font color="#DD0000">'the_title'</font><font color="#007700">, </font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">post_title</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$permalink </font><font color="#007700">= </font><font color="#0000BB">get_permalink</font><font color="#007700">(</font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">ID</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$post_excerpt </font><font color="#007700">= </font><font color="#0000BB">strip_tags</font><font color="#007700">(</font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">post_excerpt</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$post_excerpt </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">$post_excerpt</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$output </font><font color="#007700">.= </font><font color="#0000BB">$before_title </font><font color="#007700">.</font><font color="#DD0000">'&lt;a href="'</font><font color="#007700">. </font><font color="#0000BB">$permalink </font><font color="#007700">.</font><font color="#DD0000">'" rel="bookmark" title="Permanent Link: ' </font><font color="#007700">. </font><font color="#0000BB">$title </font><font color="#007700">. </font><font color="#DD0000">'"&gt;' </font><font color="#007700">. </font><font color="#0000BB">$title </font><font color="#007700">. </font><font color="#DD0000">'&lt;/a&gt;' </font><font color="#007700">. </font><font color="#0000BB">$after_title</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$show_excerpt</font><font color="#007700">==</font><font color="#DD0000">'true'</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$words</font><font color="#007700">=</font><font color="#0000BB">split</font><font color="#007700">(</font><font color="#DD0000">" "</font><font color="#007700">,</font><font color="#0000BB">$post_excerpt</font><font color="#007700">); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$post_strip </font><font color="#007700">= </font><font color="#0000BB">join</font><font color="#007700">(</font><font color="#DD0000">" "</font><font color="#007700">, </font><font color="#0000BB">array_slice</font><font color="#007700">(</font><font color="#0000BB">$words</font><font color="#007700">,</font><font color="#0000BB">0</font><font color="#007700">,</font><font color="#0000BB">$len</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$output </font><font color="#007700">.= </font><font color="#0000BB">$before_post </font><font color="#007700">. </font><font color="#0000BB">$post_strip </font><font color="#007700">. </font><font color="#0000BB">$after_post</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#0000BB">$output</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#0000BB">$before_title</font><font color="#007700">.</font><font color="#DD0000">'No related posts'</font><font color="#007700">.</font><font color="#0000BB">$after_title</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />function </font><font color="#0000BB">related_posts_404</font><font color="#007700">(</font><font color="#0000BB">$limit</font><font color="#007700">=</font><font color="#0000BB">5</font><font color="#007700">, </font><font color="#0000BB">$len</font><font color="#007700">=</font><font color="#0000BB">10</font><font color="#007700">, </font><font color="#0000BB">$before_title </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#0000BB">$after_title </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#0000BB">$before_post </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#0000BB">$after_post </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#0000BB">$show_pass_post </font><font color="#007700">= </font><font color="#0000BB">false</font><font color="#007700">, </font><font color="#0000BB">$show_excerpt </font><font color="#007700">= </font><font color="#0000BB">false</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;<br />global </font><font color="#0000BB">$wpdb</font><font color="#007700">, </font><font color="#0000BB">$post</font><font color="#007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$limit </font><font color="#007700">= </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'limit'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$len </font><font color="#007700">= </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'len'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$before_title </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'before_title'</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$after_title </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'after_title'</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$before_post </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'before_post'</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$after_post </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'after_post'</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$show_pass_post </font><font color="#007700">= </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'show_pass_post'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$show_excerpt </font><font color="#007700">= </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'show_excerpt'</font><font color="#007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$search_term </font><font color="#007700">= </font><font color="#0000BB">$_SERVER</font><font color="#007700">[</font><font color="#DD0000">'REQUEST_URI'</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$search </font><font color="#007700">= array (</font><font color="#DD0000">'@[\/]+@'</font><font color="#007700">, </font><font color="#DD0000">'@(\..*)@'</font><font color="#007700">, </font><font color="#DD0000">'@[\-]+@'</font><font color="#007700">, </font><font color="#DD0000">'@[\_]+@'</font><font color="#007700">, </font><font color="#DD0000">'@[\s]+@'</font><font color="#007700">, </font><font color="#DD0000">'@archives@'</font><font color="#007700">,</font><font color="#DD0000">'@(\?.*)@'</font><font color="#007700">,</font><font color="#DD0000">'/\d/'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$replace </font><font color="#007700">= array (</font><font color="#DD0000">' '</font><font color="#007700">, </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#DD0000">' '</font><font color="#007700">, </font><font color="#DD0000">' '</font><font color="#007700">, </font><font color="#DD0000">' '</font><font color="#007700">, </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#DD0000">''</font><font color="#007700">,</font><font color="#DD0000">''</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$search_term </font><font color="#007700">= </font><font color="#0000BB">preg_replace</font><font color="#007700">(</font><font color="#0000BB">$search</font><font color="#007700">, </font><font color="#0000BB">$replace</font><font color="#007700">, </font><font color="#0000BB">$search_term</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$search_term </font><font color="#007700">= </font><font color="#0000BB">trim</font><font color="#007700">(</font><font color="#0000BB">$search_term</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$terms </font><font color="#007700">= </font><font color="#0000BB">$search_term</font><font color="#007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$time_difference </font><font color="#007700">= </font><font color="#0000BB">get_settings</font><font color="#007700">(</font><font color="#DD0000">'gmt_offset'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$now </font><font color="#007700">= </font><font color="#0000BB">gmdate</font><font color="#007700">(</font><font color="#DD0000">"Y-m-d H:i:s"</font><font color="#007700">,(</font><font color="#0000BB">time</font><font color="#007700">()+(</font><font color="#0000BB">$time_difference</font><font color="#007700">*</font><font color="#0000BB">3600</font><font color="#007700">)));<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">// Primary SQL query<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$sql </font><font color="#007700">= </font><font color="#DD0000">"SELECT ID, post_title, post_content,"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"MATCH (post_name, post_content) "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"AGAINST ('$terms') AS score "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"FROM $wpdb-&gt;posts WHERE "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"MATCH (post_name, post_content) "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"AGAINST ('$terms') "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#007700">. </font><font color="#DD0000">"AND post_date &lt;= '$now' "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">. </font><font color="#DD0000">"AND (post_status IN ( 'publish',&nbsp;&nbsp;'static' ) &amp;&amp; ID != '$post-&gt;ID') "</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$show_pass_post</font><font color="#007700">==</font><font color="#DD0000">'false'</font><font color="#007700">) { </font><font color="#0000BB">$sql </font><font color="#007700">.= </font><font color="#DD0000">"AND post_password ='' "</font><font color="#007700">; }<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$sql </font><font color="#007700">.= </font><font color="#DD0000">"ORDER BY score DESC LIMIT $limit"</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">$wpdb</font><font color="#007700">-&gt;</font><font color="#0000BB">get_results</font><font color="#007700">(</font><font color="#0000BB">$sql</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$output </font><font color="#007700">= </font><font color="#DD0000">''</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$results</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (</font><font color="#0000BB">$results </font><font color="#007700">as </font><font color="#0000BB">$result</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$title </font><font color="#007700">= </font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">apply_filters</font><font color="#007700">(</font><font color="#DD0000">'the_title'</font><font color="#007700">, </font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">post_title</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$permalink </font><font color="#007700">= </font><font color="#0000BB">get_permalink</font><font color="#007700">(</font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">ID</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$output </font><font color="#007700">.= </font><font color="#0000BB">$before_title </font><font color="#007700">.</font><font color="#DD0000">'&lt;a href="'</font><font color="#007700">. </font><font color="#0000BB">$permalink </font><font color="#007700">.</font><font color="#DD0000">'" rel="bookmark" title="Permanent Link: ' </font><font color="#007700">. </font><font color="#0000BB">$title </font><font color="#007700">. </font><font color="#DD0000">'"&gt;' </font><font color="#007700">. </font><font color="#0000BB">$title </font><font color="#007700">. </font><font color="#DD0000">'&lt;/a&gt;' </font><font color="#007700">. </font><font color="#0000BB">$after_title</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#0000BB">$output</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#0000BB">$before_title</font><font color="#007700">.</font><font color="#DD0000">'Fuzzy ...'</font><font color="#007700">.</font><font color="#0000BB">$after_title</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br /></font><font color="#FF8000">// End Related Posts<br /><br />// Begin Keywords<br /><br /></font><font color="#007700">function </font><font color="#0000BB">find_keywords</font><font color="#007700">(</font><font color="#0000BB">$id</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;global </font><font color="#0000BB">$wpdb</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$content </font><font color="#007700">= </font><font color="#0000BB">$wpdb</font><font color="#007700">-&gt;</font><font color="#0000BB">get_var</font><font color="#007700">(</font><font color="#DD0000">"SELECT post_content FROM $wpdb-&gt;posts WHERE ID = '$id'"</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">preg_match_all</font><font color="#007700">(</font><font color="#DD0000">'/&lt;!--kw=([\s\S]*?)--&gt;/i'</font><font color="#007700">, </font><font color="#0000BB">$content</font><font color="#007700">, </font><font color="#0000BB">$matches</font><font color="#007700">, </font><font color="#0000BB">PREG_SET_ORDER</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$test </font><font color="#007700">= </font><font color="#0000BB">$wpdb</font><font color="#007700">-&gt;</font><font color="#0000BB">get_var</font><font color="#007700">(</font><font color="#DD0000">"SELECT meta_value FROM $wpdb-&gt;postmeta WHERE post_id = '$id' AND meta_key = 'keyword'"</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!empty(</font><font color="#0000BB">$test</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$output </font><font color="#007700">= </font><font color="#0000BB">explode</font><font color="#007700">(</font><font color="#DD0000">' '</font><font color="#007700">, </font><font color="#0000BB">$test</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$output </font><font color="#007700">= array();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach(</font><font color="#0000BB">$matches </font><font color="#007700">as </font><font color="#0000BB">$match</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$output </font><font color="#007700">= </font><font color="#0000BB">array_merge</font><font color="#007700">(</font><font color="#0000BB">$output</font><font color="#007700">, </font><font color="#0000BB">explode</font><font color="#007700">(</font><font color="#DD0000">' '</font><font color="#007700">, </font><font color="#0000BB">$match</font><font color="#007700">[</font><font color="#0000BB">1</font><font color="#007700">]));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$output </font><font color="#007700">= </font><font color="#0000BB">array_unique</font><font color="#007700">(</font><font color="#0000BB">$output</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$keywords </font><font color="#007700">= </font><font color="#0000BB">implode</font><font color="#007700">(</font><font color="#DD0000">' '</font><font color="#007700">, </font><font color="#0000BB">$output</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!empty(</font><font color="#0000BB">$test</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$results</font><font color="#007700">=&nbsp;&nbsp;</font><font color="#0000BB">$wpdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query</font><font color="#007700">(</font><font color="#DD0000">"UPDATE $wpdb-&gt;postmeta SET meta_value = '$keywords' WHERE post_id = '$id' AND meta_key = 'keyword'"</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">$wpdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query</font><font color="#007700">(</font><font color="#DD0000">"INSERT INTO $wpdb-&gt;postmeta (post_id,meta_key,meta_value) VALUES ('$id', 'keyword', '$keywords')"</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$content </font><font color="#007700">= </font><font color="#0000BB">format_to_post</font><font color="#007700">(</font><font color="#0000BB">balanceTags</font><font color="#007700">(</font><font color="#0000BB">preg_replace</font><font color="#007700">(</font><font color="#DD0000">"/&lt;!--kw=([\s\S]*?)--&gt;/i"</font><font color="#007700">, </font><font color="#DD0000">"&lt;!--$1--&gt;"</font><font color="#007700">, </font><font color="#0000BB">$content</font><font color="#007700">)));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">$wpdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query</font><font color="#007700">(</font><font color="#DD0000">"UPDATE $wpdb-&gt;posts SET post_content = '$content' WHERE ID = '$id'"</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return </font><font color="#0000BB">$id</font><font color="#007700">;<br />}<br /><br /></font><font color="#FF8000">// End Keywords<br /><br />// Begin Related Posts Options<br /><br /></font><font color="#007700">function </font><font color="#0000BB">rp_subpanel</font><font color="#007700">() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (isset(</font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'update_rp'</font><font color="#007700">])) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$option_limit </font><font color="#007700">= </font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'limit'</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$option_len </font><font color="#007700">= </font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'len'</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$option_before_title </font><font color="#007700">= </font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'before_title'</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$option_after_title </font><font color="#007700">= </font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'after_title'</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$option_before_post </font><font color="#007700">= </font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'before_post'</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$option_after_post </font><font color="#007700">= </font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'after_post'</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$option_show_pass_post </font><font color="#007700">= </font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'show_pass_post'</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$option_show_excerpt </font><font color="#007700">= </font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'show_excerpt'</font><font color="#007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">update_option</font><font color="#007700">(</font><font color="#DD0000">'limit'</font><font color="#007700">, </font><font color="#0000BB">$option_limit</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">update_option</font><font color="#007700">(</font><font color="#DD0000">'len'</font><font color="#007700">, </font><font color="#0000BB">$option_len</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">update_option</font><font color="#007700">(</font><font color="#DD0000">'before_title'</font><font color="#007700">, </font><font color="#0000BB">$option_before_title</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">update_option</font><font color="#007700">(</font><font color="#DD0000">'after_title'</font><font color="#007700">, </font><font color="#0000BB">$option_after_title</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">update_option</font><font color="#007700">(</font><font color="#DD0000">'before_post'</font><font color="#007700">, </font><font color="#0000BB">$option_before_post</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">update_option</font><font color="#007700">(</font><font color="#DD0000">'after_post'</font><font color="#007700">, </font><font color="#0000BB">$option_after_post</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">update_option</font><font color="#007700">(</font><font color="#DD0000">'show_pass_post'</font><font color="#007700">, </font><font color="#0000BB">$option_show_pass_post</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">update_option</font><font color="#007700">(</font><font color="#DD0000">'show_excerpt'</font><font color="#007700">, </font><font color="#0000BB">$option_show_excerpt</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">?&gt;</font> &lt;div class="updated"&gt;&lt;p&gt;Options saved!&lt;/p&gt;&lt;/div&gt; <font color="#0000BB">&lt;?php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">?&gt;<br /></font><br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="wrap"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;h2&gt;Related Posts Options&lt;/h2&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;form method="post"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fieldset class="options"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;table&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;label for="limit"&gt;How many related posts would you like to show?&lt;/label&gt;:&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;input name="limit" type="text" id="limit" value="<font color="#0000BB">&lt;?php </font><font color="#007700">echo </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'limit'</font><font color="#007700">); </font><font color="#0000BB">?&gt;</font>" size="2" /&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;label for="before_title"&gt;Before&lt;/label&gt; / &lt;label for="after_title"&gt;After (Post Title) &lt;/label&gt;:&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;input name="before_title" type="text" id="before_title" value="<font color="#0000BB">&lt;?php </font><font color="#007700">echo </font><font color="#0000BB">htmlspecialchars</font><font color="#007700">(</font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'before_title'</font><font color="#007700">))); </font><font color="#0000BB">?&gt;</font>" size="10" /&gt; / &lt;input name="after_title" type="text" id="after_title" value="<font color="#0000BB">&lt;?php </font><font color="#007700">echo </font><font color="#0000BB">htmlspecialchars</font><font color="#007700">(</font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'after_title'</font><font color="#007700">))); </font><font color="#0000BB">?&gt;</font>" size="10" /&gt;&lt;em&gt;&lt;small&gt; For example: &amp;lt;li&amp;gt;&amp;lt;/li&amp;gt; or &amp;lt;dl&amp;gt;&amp;lt;/dl&amp;gt;&lt;/small&gt;&lt;/em&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Show excerpt?&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;select name="show_excerpt" id="show_excerpt"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option <font color="#0000BB">&lt;?php </font><font color="#007700">if(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'show_excerpt'</font><font color="#007700">) == </font><font color="#DD0000">'false'</font><font color="#007700">) { echo </font><font color="#DD0000">'selected'</font><font color="#007700">; } </font><font color="#0000BB">?&gt;</font> value="false"&gt;False&lt;/option&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option <font color="#0000BB">&lt;?php </font><font color="#007700">if(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'show_excerpt'</font><font color="#007700">) == </font><font color="#DD0000">'true'</font><font color="#007700">) { echo </font><font color="#DD0000">'selected'</font><font color="#007700">; } </font><font color="#0000BB">?&gt;</font> value="true"&gt;True&lt;/option&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;label for="len"&gt;Excerpt length (No. of words):&lt;/label&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;input name="len" type="text" id="len" value="<font color="#0000BB">&lt;?php </font><font color="#007700">echo </font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'len'</font><font color="#007700">); </font><font color="#0000BB">?&gt;</font>" size="2" /&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;label for="before_post"&gt;Before&lt;/label&gt; / &lt;label for="after_post"&gt;After&lt;/label&gt; (Excerpt):&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;input name="before_post" type="text" id="before_post" value="<font color="#0000BB">&lt;?php </font><font color="#007700">echo </font><font color="#0000BB">htmlspecialchars</font><font color="#007700">(</font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'before_post'</font><font color="#007700">))); </font><font color="#0000BB">?&gt;</font>" size="10" /&gt; / &lt;input name="after_post" type="text" id="after_post" value="<font color="#0000BB">&lt;?php </font><font color="#007700">echo </font><font color="#0000BB">htmlspecialchars</font><font color="#007700">(</font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'after_post'</font><font color="#007700">))); </font><font color="#0000BB">?&gt;</font>" size="10" /&gt;&lt;em&gt;&lt;small&gt; For example: &amp;lt;li&amp;gt;&amp;lt;/li&amp;gt; or &amp;lt;dl&amp;gt;&amp;lt;/dl&amp;gt;&lt;/small&gt;&lt;/em&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;label for="show_pass_post"&gt;Show password protected posts?&lt;/label&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;select name="show_pass_post" id="show_pass_post"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option <font color="#0000BB">&lt;?php </font><font color="#007700">if(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'show_pass_post'</font><font color="#007700">) == </font><font color="#DD0000">'false'</font><font color="#007700">) { echo </font><font color="#DD0000">'selected'</font><font color="#007700">; } </font><font color="#0000BB">?&gt;</font> value="false"&gt;False&lt;/option&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option <font color="#0000BB">&lt;?php </font><font color="#007700">if(</font><font color="#0000BB">get_option</font><font color="#007700">(</font><font color="#DD0000">'show_pass_post'</font><font color="#007700">) == </font><font color="#DD0000">'true'</font><font color="#007700">) { echo </font><font color="#DD0000">'selected'</font><font color="#007700">; } </font><font color="#0000BB">?&gt;</font> value="true"&gt;True&lt;/option&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/fieldset&gt;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;&lt;div class="submit"&gt;&lt;input type="submit" name="update_rp" value="<font color="#0000BB">&lt;?php _e</font><font color="#007700">(</font><font color="#DD0000">'Save!'</font><font color="#007700">, </font><font color="#DD0000">'update_rp'</font><font color="#007700">) </font><font color="#0000BB">?&gt;</font>"&nbsp;&nbsp;style="font-weight:bold;" /&gt;&lt;/div&gt;&lt;/p&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="wrap"&gt;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;h2&gt;SQL Index Table Setup&lt;/h2&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;If this is your first time installing this plugin you will have to run &lt;a href="../wp-content/plugins/related-posts.php?setup" onclick="window.open(this.href, 'popupwindow', 'width=400,height=150,scrollbars,resizable'); return false;"&gt;this script&lt;/a&gt; (opens a new window) in order to create the index table required by the plugin. If this fails, please refer to the readme on how to create it manually.&lt;/p&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br /><br /><font color="#0000BB">&lt;?php </font><font color="#007700">} <br /><br /></font><font color="#FF8000">// End Related Posts Options<br /><br /></font><font color="#007700">function </font><font color="#0000BB">rp_admin_menu</font><font color="#007700">() {<br />&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">function_exists</font><font color="#007700">(</font><font color="#DD0000">'add_submenu_page'</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">add_submenu_page</font><font color="#007700">(</font><font color="#DD0000">'plugins.php'</font><font color="#007700">, </font><font color="#0000BB">__</font><font color="#007700">(</font><font color="#DD0000">'Related Posts Options'</font><font color="#007700">), </font><font color="#0000BB">__</font><font color="#007700">(</font><font color="#DD0000">'Related Posts Options'</font><font color="#007700">), </font><font color="#0000BB">1</font><font color="#007700">, </font><font color="#0000BB">__FILE__</font><font color="#007700">, </font><font color="#DD0000">'rp_subpanel'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></font><font color="#0000BB">add_action</font><font color="#007700">(</font><font color="#DD0000">'edit_post'</font><font color="#007700">, </font><font color="#DD0000">'find_keywords'</font><font color="#007700">, </font><font color="#0000BB">1</font><font color="#007700">);<br /></font><font color="#FF8000">// add_action('publish_post', 'find_keywords', 1);<br /></font><font color="#0000BB">add_action</font><font color="#007700">(</font><font color="#DD0000">'admin_menu'</font><font color="#007700">, </font><font color="#DD0000">'rp_admin_menu'</font><font color="#007700">);<br /><br /></font><font color="#0000BB">?&gt;</font>
</font>
</code>