Members may have noticed a few changes were made last night and this morning to the categories pages of XenForo. In particular, five recent articles from WordPress which match the category are now shown. This is accomplished with a callback to a PHP file which uses the wp_get_recent_posts WordPress function.
Building the file was nothing more than extending the WPPostsWide.php file written earlier. An important change included adding the category argument to the array.
PHP:
$wp_args = array(
'numberposts' => '5',
'offset' => 0,
'category' => 2385,
'post_type' => 'post',
'post_status' => 'publish'
);
$recentPosts = wp_get_recent_posts( $wp_args );
Each file contains a unique class name and resides in the TRN_XenWord_Model directory on the server.
The category is a number, which is easily found in WordPress admin panel Posts >> Categories. Hover over the edit button and look for the tag_id.
The template category_view was modified to include the callback to the PHP file.
Code:
<xen:if is="{$category.title} == 'Business & Finance'">
<xen:callback class="TRN_XenWord_Model_WPPostsBusiness" method="getHtml"></xen:callback>
<xen:elseif is="{$category.title} == 'Education'" />
<xen:callback class="TRN_XenWord_Model_WPPostsEducation" method="getHtml"></xen:callback>
<xen:elseif is="{$category.title} == 'Lifestyle'" />
<xen:callback class="TRN_XenWord_Model_WPPostsLife" method="getHtml"></xen:callback>
<xen:elseif is="{$category.title} == 'Science'" />
<xen:callback class="TRN_XenWord_Model_WPPostsScience" method="getHtml"></xen:callback>
<xen:elseif is="{$category.title} == 'Opinions'" />
<xen:callback class="TRN_XenWord_Model_WPPostsStaff" method="getHtml"></xen:callback>
<xen:elseif is="{$category.title} == 'Technology'" />
<xen:callback class="TRN_XenWord_Model_WPPostsTech" method="getHtml"></xen:callback>
<xen:elseif is="{$category.title} == 'US & World'" />
<xen:callback class="TRN_XenWord_Model_WPPostsNews" method="getHtml"></xen:callback>
<xen:elseif is="{$category.title} == 'Webdesign Communities'" />
<xen:callback class="TRN_XenWord_Model_WPPostsWebdesign" method="getHtml"></xen:callback>
<xen:else />
<xen:callback class="TRN_XenWord_Model_WPPostsWide" method="getHtml"></xen:callback>
</xen:if>
After modifying the template, the sidebar still showed until realizing the widget framework was interfering.
This change, along with the XenFront add-on is starting to provide Tux Reports Community with a unique look. There are still plenty of work to do on the CSS but the site is starting to take a different look for the old 90s style forum.