Home Forums Front-end Issues Displaying Fields – HTML in functions.php Reply To: Displaying Fields – HTML in functions.php

  • Shortcodes are meant to return data instead of echo it out. Additionally, it looks like the concatenation is malformed after $link1. Any time you’re combining variables with strings you need to use period . to connect them and only a semicolon at the very end. The variables are also not right – you use ‘price1’ in for the field parameter but $go_price is the variable. The anchor needs double quotes to surround the attribute URL. And the conditional needs 2 ampersands.

    All in all it should look something like this:

    function displayprice() {
    	$return		= '';
    	$go_price 	= get_field( 'price1' );
    	$go_link 	= get_field( 'link1' );
    	if( $go_price && $go_link ) {
    		$return = '<a href="' . esc_url( $go_link ) . '">' . $go_price . '</a>';
    	return $return;
    add_shortcode( 'showprices', 'displayprice' );