1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. We've taken the opportunity to restyle this site after the release of WordPress 3.9. Please excuse the dust.

HowTo: Show a XenForo thread in a WordPress Page

Promote a XenForo first post in a thread in a WordPress Page

  1. LPH
    This little project is not clean but functions manually by changing the $forum_id in the PHP code added to the template file. The latest post in the forum is promoted to the WordPress page.

    Step One: Build the WordPress template

    PHP:
    <?php
    /**
    Template Name: xffrontpage
    */
     
    get_header(); ?>
     
    <div id="primary">
        <div id="content" role="main">
            <div id="mainstory">
                <?php
                    $threadModel 
    XenForo_Model::create'XenForo_Model_Thread' );
     
                    
    $conditions = array();
     
                    
    $fetchOptions = array(
                                        
    'join' => XenForo_Model_Thread::FETCH_FIRSTPOST,
                                        
    'order' => 'post_date',
                                        
    'orderDirection' => 'desc',
                                        
    'limit' => 1);
     
                    
    $forum_id 186// Set a forum_id
               
                    
    $threads $threadModel->getThreadsInForum$forum_id$conditions$fetchOptions ); // 6 is the node
               
                    
    foreach ( $threads AS $threadId => $thread ) {
     
                        if ( 
    $threadModel->canViewThread$thread$thread ) ) {
     
                                
    $formatter XenForo_BbCode_Formatter_Base::create();
     
                                
    $parser = new XenForo_BbCode_Parser($formatter);
     
                                
    $html $parser->renderXenForo_Helper_String::wholeWordTrim$thread['message'] , 140 ) );
     
                                echo (
    '<div class="entry-meta subHeading categoryStrip"><a href="' XenForo_Link::buildPublicLink('canonical:threads'$thread) . '">' XenForo_Helper_String::wholeWordTrim($thread['title'], 48) . '</a> <br /><br /></div>');
     
                                echo 
    $html .'<br /><hr>';
                          }
                    }
                
    ?>
     
            </div><!-- #mainstory -->
        </div><!-- #content -->
    </div><!-- #primary -->
     
    <?php get_footer(); ?>
    Step Two: Save this file in the child theme directory.

    Step Three: Create a WordPress Page, choose the template xffrontpage


    Example:

    Live Demonstration

    xf_promoted-forum-posts.png