我正在构建一个 Wordpress 插件并遇到一个奇怪的问题。可能是我缺少的一个简单修复。
我的插件中有以下短代码挂钩。
add_shortcode( "example", "ah_create_shortcode" );
function ah_create_shortcode() {
$return_string = '';
$return_string .= '<section class="ah-lots">';
$return_string .= '<div>' . $address . '</div>';
$return_string .= '<div>Test Line</div>';
$return_string .= '</section>';
return $return_string;
}
当我将短代码放在页面上时,即[示例] - 它输出除 $address 变量之外的所有内容。所以我可以在实际页面上看到“测试线”等。
$address 变量存在,因为我可以直接在插件的管理页面上输出它,并且它有一个值。
我确信这是一个简单的修复,我对 Wordpress 还比较陌生。我尝试将 $address 作为参数传递给短代码函数,确保在创建短代码之前声明变量并具有值等。
谢谢!
我在这里非常愚蠢。 @CBroe 让我朝正确的方向前进。
我更新了简码函数以在其中创建 $address 变量,而不是在其上方。
下面的代码工作正常。
add_shortcode( "example", "ah_create_shortcode" );
function ah_create_shortcode($address) {
$lots = get_option('ah_lots');
$returned_lots = json_decode($lots, true);
if ($returned_lots) {
$address = $returned_lots['data']['data'][0]['address'];
$short_description = $returned_lots['data']['data'][0]['short_description'];
$bedrooms = $returned_lots['data']['data'][0]['bed_rooms'];
$bathrooms = $returned_lots['data']['data'][0]['bath_rooms'];
$livingrooms = $returned_lots['data']['data'][0]['living_rooms'];
$image_url = $returned_lots['data']['data'][0]['primary_image']['full_url'];
// echo $address;
} else {
echo "Failed to retrieve address from JSON.";
}
$return_string = '';
$return_string .= '<section class="ah-lots">';
$return_string .= '<div>' . $address . '</div>';
$return_string .= '<div>Test Line</div>';
$return_string .= '</section>';
return $return_string;
}