WPtouch does not support custom post types or templates out of the box.   However, it is relatively straight-forward to get your custom posts to show up. For my website, there are two pages that use custom templates in its desktop or non-mobile modes. Each template uses a specific category to display the posts. The pages are http://www.koolkatwebdesigns.com/blog/ and http://www.koolkatwebdesigns.com/website-design-portfolio/.

At first, the mobile version of these pages had no content with only the page title and the social icons showing up. So, taking advantage of the child themes available in WPtouch 2.1, I took action. Here are the steps (excluding iPad):

  1. Select the Classic (2.1) and click “Copy as child”.
  2. Using your favorite FTP program copy the contents of wptouch-data/themes/classic-child-1 to your local computer.
  3. Also copy page.php from wp-content/plugins/wptouch-pro/themes/classic/iphone to the wptouch-data/themes/classic-child-1 directory on your local computer.
  4. Rename page.php in wptouch-data/themes/classic-child-1 directory on your local machine to page-{id}.php. Where id is the id of the page with the custom posts. So, in my case I ended up with page-5.php for my blog.
  5. Edit the style.css in the same directory to include the following (you will see why later):
    1. .blog-posts .content {
      display:block;
      }
  6. Since the WPTouch theme will generate classes that will cause your content to have the style display:none, edit your page-{id}.php and add blog-posts right after the second occurrence of rounded-corners-8px so you have a line like this:
    1. <div class=”<?php wptouch_post_classes(); ?> rounded-corners-8px blog-posts”>
  7. Modify the line of code that has <h2><?php wptouch_the_title(); ?></h2> so it can link to post to its single page display:
    1. <h2><a href=”<?php wptouch_the_permalink()?>”><?php wptouch_the_title(); ?></a></h2>
  8. Now, its time the update the wordpress loop.
  9. Replace the following lines of  code:
    1. <?php if ( wptouch_have_posts() ) { ?>
      <?php wptouch_the_post(); ?>
  10. With this line (cat=10 should be replaced with what your post category is):
    1. <?php query_posts(‘cat=10′); while (wptouch_have_posts()) : wptouch_the_post() ?
  11. Note the php style I am using here and if you use the same thing you will also need to replace the closing bracket with:
    1. <?php endwhile; ?>
  12. Finally, call <?php wp_reset_query(); ?> before <?php get_footer(); ?>