Php 带有';及;
在php中,我有一个使用atts的短代码变量:Php 带有';及;,php,string,variables,shortcode,Php,String,Variables,Shortcode,在php中,我有一个使用atts的短代码变量: $ret = '<a href="http://twitter.com/intent/tweet?text=[slshar text="title"]&url=[slshar text="url"]">Link</a>'; $ret=''; 我不知道如何管理这个变量中“title”和“url”的短代码中的“and”。 我试过:\'title\'=>不起作用 [slshar text=“title”]=“第二篇文章
$ret = '<a href="http://twitter.com/intent/tweet?text=[slshar text="title"]&url=[slshar text="url"]">Link</a>';
$ret='';
我不知道如何管理这个变量中“title”和“url”的短代码中的“and”。我试过:\'title\'=>不起作用
[slshar text=“title”]=“第二篇文章的标题”=“第二篇文章的标题”
[slshar text=“url”]=“第二篇文章的鼻涕虫””=“https//pur plan.com/post2“
结果必须是:
$ret=”;
我测试了shorcode:一切正常,返回的值正常。
使用此语法,返回的URL在“”text=“”之后被截断。这是正常的,因为“
我希望我的解释足以帮助我。
你能帮我修一下吗。
问候,
布鲁诺谢谢你的回答。
我用下面的解决方案和一些css来设计按钮,解决了这个问题。
如果您在存档中自定义一个循环(以Elementor Custom Skin为例),此代码将显示在twitter和facebook上共享帖子的链接
add_shortcode( 'social-sharing-inf', function ( $atts) {
extract(shortcode_atts(array(
'inf' => '',
), $atts));
global $post;
switch ( $inf ) {
case 'twitter' :
$ret = '<a href="http://twitter.com/intent/tweet?text=';
$ret .= 'PUR-PLAN.com vous propose la bonne affaire suivante :%0D' . $post->post_title .'%0DCliquez sur le lien suivant pour y accéder :';
$ret .= '&url=https://pur-plan.com/' . $post->post_name;
$ret .= '" onclick="window.open(this.href, \'twitterwindow\',\'left=20,top=20,width=600,height=300,toolbar=0,resizable=1\'); return false;" ';
$ret .= 'class="share-button-twitter-a"><i class="fa fa-twitter"></i>Twitter</a>';
break;
case 'facebook' :
$ret = '<a href="https://www.facebook.com/sharer.php?u=https://pur-plan.com/' . $post->post_name;
$ret .= '" onclick="window.open(this.href, \'facebookwindow\',\'left=20,top=20,width=600,height=700,toolbar=0,resizable=1\'); return false;" ';
$ret .= 'class="share-button-facebook-a"><i class="fa fa-facebook"></i>facebook </a>';
break;
}
wp_reset_postdata();
return "$ret";
});
添加快捷码('social sharing inf',函数($atts){
提取(短码)附件(数组)(
'inf'=>'',
)美元(附件);;
全球$员额;
交换机($inf){
“推特”案例:
$ret='';
打破
“facebook”案例:
$ret='';
打破
}
wp_reset_postdata();
返回“$ret”;
});
我打电话的快捷码是:[social sharing inf=“twitter”]和[social sharing inf=“facebook”]当然,这段代码可以优化,但效果很好。
如果你有什么改进,我就要了 服务器端的文本和url变量中包含了什么?什么是“不工作”?这些短代码应该被实际值替换,还是您试图将这些短代码作为URL参数传输?如果是前者:在哪里/何时/如何更换?如果是后者:您需要对这些值进行URL编码,因为您正试图在URL中传输它们,然后HTML将整个URL编码,因为您正试图将其转换为HTML。您必须将短代码与URL分开转换为值,例如:
$title='[slshar text=“title”]$title=shortcode_magic($title)编码>然后URL编码,然后将其放入URL。这两个字符串如何关联?