如何在wordpress短代码中转换这个PHP代码?

时间:2017-04-02 12:54:12

标签: php wordpress shortcode

您好我在网上找到了这个代码,这是一个简单的按钮,可以显示优惠券代码并同时打开URL。

function coupon_add($coup, $uurl)
{
echo "    
<script type='text/javascript'>
<!--
function coupon(coup,url) 
{alert('COUPON CODE: ' + coup);
window.open(url,'_blank');
}
//-->
</script>";    
echo "<center><br /><input style=\"width:250px; height:60px;font-
size:30px;\" type=\"button\" onclick=\"coupon('".$coup."','".$uurl."')\" 
value=\"VIEW COUPON\" \/></center><p>";
}

我想将其转换为短代码,以便将其插入到帖子中。希望能提前感谢一些帮助!

1 个答案:

答案 0 :(得分:1)

在你的functions.php中:

add_shortcode( 'my_coupon_add', 'sc_my_coupon_add' );
function sc_my_coupon_add( $args, $content = null ){
  $atts = shortcode_atts( array(
    'coup' => '',
    'uurl' => ''
  ), $args, 'my_coupon_add' );
  return "<script type='text/javascript'>
    function coupon( coup, url ){
      alert( 'COUPON CODE: ' + coup );
      window.open( url, '_blank' );
    }
   </script>  
   <center><br /><input style=\"width:250px; height:60px;font-size:30px;\" type=\"button\" onclick=\"coupon('" . $atts[ 'coup' ] . "','" . $atts[ 'uurl' ] . "')\" value=\"VIEW COUPON\" \/></center><p>";
}

现在您可以使用短代码[my_coupon_add coup="" uurl=""]并传递参数。编写javascript的方式,这只能在页面或帖子上使用一次,否则你会遇到coupon()函数的问题,但如果需要的话,这应该足以扩展/重写它而不是一次(比如将coupon() javascript函数移动到主js文件中,以便它只在需要时可用一次。)

您可能需要仔细检查单引号和双引号 - 我快速将其掀起。