php code to shortcode

时间:2015-06-05 作者:Steve Kim

这是我的php代码:

<?php global $royal_profile;?>
    <div class="profile-img" data-key="profilepicture">
        <?php echo get_avatar( get_current_user_id(), 64 ); ?>
    </div>
然后,我尝试将其转换为一个短代码(以便我可以在菜单中使用,因为我意识到我不能简单地将php放入菜单中。

function wpse_143641_profile_shortcode( $atts ) {
  return <<<royal_profile

       <?php global $royal_profile;?>
    <div class="profile-img" data-key="profilepicture">
        <?php echo get_avatar( get_current_user_id(), 64 ); ?>
    </div>

royal_profile;
 }
add_shortcode( \'royal_profile\', \'wpse_143641_profile_shortcode\' );
当我检查前端的元件时,得到的结果如下。

enter image description here

我做错了什么?

谢谢

1 个回复
最合适的回答,由SO网友:Ashok G 整理而成

您好,您可以使用此代码。

function wpse_143641_profile_shortcode( $atts ) 
  {
   echo get_avatar( get_current_user_id(), 64 );
  }
add_shortcode( \'royal_profile\', \'wpse_143641_profile_shortcode\' );
您应该在编辑器中添加短代码

[royal_profile]
或模板

do_shortcode(\'[royal_profile]\')

结束

相关推荐

Shortcode not accepting atts

我一直在研究一个短代码,我在传递$ATT时遇到了问题。我不知道我做错了什么。换言之,我无法通过在短代码中插入新值将“input\\u product\\u image\\u ID”更新为与默认值13不同的值。例如,此短代码仍将返回13,而不是12:[product\\u picture input\\u product\\u image\\u ID=“12”]我的代码:function article_image_insert_shortcode($atts) { extract(short