将带有ACF的HTML标签插入到短码中

时间:2018-01-19 作者:Pr0metheus

首先,我要说的是,我通常在公开寻求帮助之前做了大量的研究——因为很可能网络上已经有大量的信息——尽管我已经做了几天的研究等等,但我仍然很痛苦。。。

我正在使用Wordpress和高级自定义字段插件-我已经能够使用简单的HTML代码在我的首页上显示图像

<img src="[acf field=\'image\' post_id=\'\'. $post_id .\'\']" />
在这里,我创建了一个名为“image”的自定义字段。Now 如果可能,我想创建一个短代码来显示此链接?我经历了很多可能性,比如;

也尝试过这个;

<?php
function my_shortcode() {
    $output = \'\';
    $output.= \'<img src="[acf field=\'image\' post_id=\'\'. $post_id .\'\']" />\';
    return $output;
}
没有采取。。。然后我选择了我在网上能找到的最后一个;

    function my_shortcode() {
    ob_start();
    ?> <HTML> <img src="[acf field=\'image\' post_id=\'\'. $post_id .\'\']" /> <?php
    return ob_get_clean();
}
最终在我的网站上出现了这样的情况-outcome

伙计们,我真是太深了。。。如果有人愿意帮我一点忙,我真的很高兴!

提前感谢!

2 个回复
最合适的回答,由SO网友:KAGG Design 整理而成

你必须使用do_shortcode() 在字符串中执行短代码

完整代码应该是这样的

<?php
function my_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        \'post_id\' => \'\', // Default value.
    ), $atts );

    $output = \'[acf field="image" post_id="\' . $atts[\'post_id\'] . \'"]\';
    $output = do_shortcode( $output );
    $output = \'<img src="\' . $output . \'" />\';
    return $output;
}

add_shortcode(\'my_link\', \'my_shortcode\');
用法:

[my_link post_id="xxx"]
其中xxx是重新申请职位的id。

SO网友:Dharmishtha Patel

enter image description here

function my_shortcode(){
return \'<img src="[acf field=\'image\' post_id=\'\'. $post_id .\'\']" />\';
}
add_shortcode(\'image\',\'my_shortcode\');
结束
将带有ACF的HTML标签插入到短码中 - 小码农CODE - 行之有效找到问题解决它

将带有ACF的HTML标签插入到短码中

时间:2018-01-19 作者:Pr0metheus

首先,我要说的是,我通常在公开寻求帮助之前做了大量的研究——因为很可能网络上已经有大量的信息——尽管我已经做了几天的研究等等,但我仍然很痛苦。。。

我正在使用Wordpress和高级自定义字段插件-我已经能够使用简单的HTML代码在我的首页上显示图像

<img src="[acf field=\'image\' post_id=\'\'. $post_id .\'\']" />
在这里,我创建了一个名为“image”的自定义字段。Now 如果可能,我想创建一个短代码来显示此链接?我经历了很多可能性,比如;

也尝试过这个;

<?php
function my_shortcode() {
    $output = \'\';
    $output.= \'<img src="[acf field=\'image\' post_id=\'\'. $post_id .\'\']" />\';
    return $output;
}
没有采取。。。然后我选择了我在网上能找到的最后一个;

    function my_shortcode() {
    ob_start();
    ?> <HTML> <img src="[acf field=\'image\' post_id=\'\'. $post_id .\'\']" /> <?php
    return ob_get_clean();
}
最终在我的网站上出现了这样的情况-outcome

伙计们,我真是太深了。。。如果有人愿意帮我一点忙,我真的很高兴!

提前感谢!

2 个回复
最合适的回答,由SO网友:KAGG Design 整理而成

你必须使用do_shortcode() 在字符串中执行短代码

完整代码应该是这样的

<?php
function my_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        \'post_id\' => \'\', // Default value.
    ), $atts );

    $output = \'[acf field="image" post_id="\' . $atts[\'post_id\'] . \'"]\';
    $output = do_shortcode( $output );
    $output = \'<img src="\' . $output . \'" />\';
    return $output;
}

add_shortcode(\'my_link\', \'my_shortcode\');
用法:

[my_link post_id="xxx"]
其中xxx是重新申请职位的id。

SO网友:Dharmishtha Patel

enter image description here

function my_shortcode(){
return \'<img src="[acf field=\'image\' post_id=\'\'. $post_id .\'\']" />\';
}
add_shortcode(\'image\',\'my_shortcode\');