繁体   English   中英

如何在示例PHP代码中添加CSS类

[英]How can I add a css class to my example php code

我想在这段php代码的输出中添加一个类

function acf_esg_tax_field_loc( $atts, $content = null ) {
    $a = shortcode_atts(array('post_id' => "1"), $atts);
    $term = get_field( "field_56cb3d84cf32a", $a['post_id'] );

    echo $term->name;
}

add_shortcode( 'acfesgtax_loc', 'acf_esg_tax_field_loc' );

该代码在我的Wordpress函数php中用于生成简码。

应该是这样的

function acf_esg_tax_field_loc( $atts, $content = null ) {
    $a = shortcode_atts(array('post_id' => "1"), $atts);
    $term = get_field( "field_56cb3d84cf32a", $a['post_id'] );

    echo '<div class="OutputClass" >';
    echo $term->name;
    echo '</div>'; 
}

add_shortcode( 'acfesgtax_loc', 'acf_esg_tax_field_loc' );

不幸的是,这不起作用。

你能帮忙吗?

WordPress代码参考中所述。

请注意,由简码调用的函数绝不能产生任何形式的输出。 简码函数应返回将用于替换简码的文本。 直接产生输出会导致意外结果。 这类似于过滤器函数的行为方式,因为它们不应在调用中产生预期的副作用,因为您无法控制从何处以及在何处调用它们。

因此,首先将其从echo更改为return。 您可以定义一个变量,将其连接起来,最后返回它。

结果:

function acf_esg_tax_field_loc( $atts, $content = null ) {
    $a = shortcode_atts(array('post_id' => "1"), $atts);
    $term = get_field( "field_56cb3d84cf32a", $a['post_id'] );

    $sR =  '<div class="OutputClass" >';
    $sR .= $term->name;
    $sR .= '</div>'; 
    return $sR;
}

add_shortcode( 'acfesgtax_loc', 'acf_esg_tax_field_loc' );

如果类始终是相同的,因此可以进行硬编码,那么您就非常亲密。 仅输出一个回声,因此将其连接:

echo '<div class="OutputClass" >'.$term->name.'</div>';

如果它是动态的,并且您需要在某个地方获取类名并将其传递,那么那就完全不同了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM