 
					You're not opening a PHP tag in a PHP tag... You closed it in your function. Can you please indicate the error when you say "it broke down now"?
Can you paste the full code for town_content function?
Thanks!
 
					I was not getting an error code, just a white screen.
Now I have gotten to the point where I am outputting the page, however, it isn't grabbing any of the custom inputs.
It isnt outputting the image for the header - its grabbing the page url instead of the image url and its stored as the image url (code works, I tested it with a static image url) and it isnt writting any of the layout code.
<?php
/**
 * The Template for displaying town pages
 * Template Name: Town Pages
 */
// get page fields
add_action( 'beans_uikit_enqueue_scripts', 'my_function_name' );
function my_function_name() {
 beans_uikit_enqueue_components( true );
 beans_uikit_enqueue_components( true, 'add-ons' );
}
// get town information 
// get town name 
$town = get_field('town_name');
$town = get_term($town, 'town_name');
$town = $town->name;
$intro = get_field('town_intro');
$image = get_field('showcase_image');
$schools = get_field('schools');
$commute = get_field('commute');
$recreation = get_field('recreation');
$shopping = get_field('shopping');
$restaurants = get_field('restaurants');
$links = get_field('links');
$search = get_field('property_searches'); 
// Add hero after header.
add_action( 'beans_header_after_markup', 'parallax_hero' );
function parallax_hero() {
?>
 <div class="tm-hero uk-block-large">
    <div style="width: 100%; height: 50vh; background-image: url('<?php echo $image; ?>')" data-uk-parallax="{bg: '-200'}">
   </div>
  </div>  
<?php
}
// Replace the main loop with my own section.
beans_modify_action_callback( 'beans_loop_template', 'town_content' );
function town_content() {
    ?>
  <div class=".uk-width-4-5">
   <h2>Welcome to <?php echo $town; ?>!</h2>
<?php if (!empty($intro)) {   
      echo $intro;
  } else { echo "";} 
    if (!empty($schools)) 
      {
     ?>  
        <h2><i class="fa fa-graduation-cap"></i><?php echo $town; ?> Schools </h2>
        <?php echo $schools; ?>
    <?php
     } else { echo "";} 
     if (!empty($commute)) {
     ?>    
    <h2><i class="fa fa-train"></i>  <?php echo $town; ?> Commuters</h2>
    <?php echo $commute; ?>
    <?php
     } else { echo "";} ?>
      <h2><i class="fa fa-line-chart"></i>  The <?php echo $town; ?> Market</h2>
<!-- Insert Latest Market Report About Town -->   
<?php global $post;
$args = array( 'numberposts' => 1, 'category_name' => 'market-update', 
'tax_query' => array(
        array(
            'taxonomy' => 'town_name',
            'field' => 'slug',
            'terms' => $town,
        )
    ),
 );
$posts = get_posts( $args );
foreach( $posts as $post ): setup_postdata($post); 
?>
<div><?php the_content(); ?></div>
<?php endforeach; 
// End of Market Report
   if (!empty($recreation)) {
     ?>
        <h2><i class="fa fa-ticket"></i>  <?php echo $town; ?> Recreation</h2>
    <?php echo $recreation; ?>
    <?php
     } else { echo "";} ?>
    <?php if (!empty($shopping)) { 
     ?>  
      <h2><i class="fa fa-shopping-cart"></i>  Shop <?php echo $town; ?></h2>
      <?php echo $shopping; ?>
    <?php 
    } else { echo "";} ?>
  <?php if (!empty($restaurants)) {
?> 
      <h2><i class="fa fa-cutlery"></i>  <?php echo $town; ?> Eats</h2>
      <?php echo $restaurants; ?>
    <?php
   } else { echo "";} ?>
 </div>
<div class=".uk-width-1-5"> 
      <h2><i class="fa fa-search"></i> <?php echo $town; ?>  Home Search</h2>
        <?php echo $search; ?>
      <h2><i class="fa fa-link"></i> <?php echo $town; ?>  Links</h2>
    <?php
    // Get the ID of a given category
    $category_id = get_cat_ID($town);
    // Get the URL of this category
    $category_link = get_category_link( $category_id ); ?>
<!-- Print a link to this category -->
<a href="<?php echo esc_url( $category_link ); ?>" title="<?php echo $town ?>">Our Blog Posts on <?php echo $town ?></a>
    </br>
   <?php echo $links; ?>
</div> 
<?php social_warfare(); 
}
// Load the document which is always needed at the bottom of template files.
beans_load_document(); 
					If you just echo the contents of $image what do you get? I also noticed that you used this line to try and output your own template content:
beans_modify_action_callback( 'beans_loop_template', 'town_content' );Try use this instead:
beans_modify_action( 'beans_content_template', 'beans_main_append_markup', 'town_content' );Let me know how that goes.
 
					I can't see the resulting markup of your code, however I suspect that this line:
add_action( 'beans_header_after_markup', 'parallax_hero' );Is causing an issue as you probbaly don't even have the beans header being displayed in your template. Can you confirm that it is there by inspecting the markup?
Simon
 
					I made your suggested change to which function to call, and it doesnt seem to make a difference.
The entire HTML structure is propertly written except the content being pulled from the fields or content that wont exist if there is a null value for a variable. Those are all missing. Header tags are there, with navigation. Hero exists, without the image (it defines the (background-image: url() as the page URL. Everything in .uk-width-4-5 and .uk-width-1-5 that isn't depending on a defined variable, pulls just fine. Anything that looks for a defined variable in the if else statements doesnt output, which makes me believe its pulling a null value or beans just handles variables like this differently. Even if I define the variable, it doesnt seem to work. See below for the changes I made:
// get town information 
// get town name 
$town = get_field('town_name');
$town = get_term($town, 'town_name');
$town = $town->name;
$town = 'Fake Town Name';
$intro = get_field('town_intro');
$image = get_field('showcase_image');
$image = 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Bobcat-Texas-9110.jpg/220px-Bobcat-Texas-9110.jpg';I tested it by writing in variable for both $town and $image, and it still doesnt output.
 
					Ok, I think I solved it, the variables need to be called in the function itself. I have them outside the function.
Which leads me to my next question, is there a way to call them once in a seperate function to be used on the entire page?
 
					If you have to use them in a separate function (and I do not see why you do) then you can always define them as globals.
