2013-02-06 26 views
0

我已经搜索了一段时间的这个问题,也许它很简单,也许没有。我无法弄清楚如何让这个工作。

我的目标结果将是一个超链接与后meta有关的一些样式如此。

<a href="href_link" style="color: #e67300" rel="nofollow"> Check out the r_title here!</a> 

我的代码是:

<?php 
$rtitle1 = get_post_meta($post->ID, 'r_title', true); 
$rlink1 = get_post_meta($post->ID, 'href_link', true); 
    function testfunction() { 

    $output .= '<a href=\"'$rlink1'\" style=\"color: #e67300\" rel=\"nofollow\">'; 
    $output .= ' Check out the '$rtitle1' here!</a>'; 

    return $output; 
    } 
add_shortcode('shortcode', 'testfunction'); 
?> 
+0

你不需要在单引号内换掉双引号 –

回答

1

有几个问题与您的代码。第一个问题是string concatenation。当你想胶水串在一起,你需要使用concatenation operator(点:.):

$end = 'a string'; 
$start = 'This is '; 
$string = $start.$end; 

如果你只是并列变量和字符串(或任何其他scalar types),那么你会得到错误:

​​

第二个问题是您正在使用global scope中的两个变量($rtitle1$rlink1)。如果你想用一个函数内部全局变量,那么你需要将其申报为世界里面的功能:

$globalVar = 'test'; 
function test() { 
    global $globalVar; 
    echo $globalVar; 
} 

第三个问题是,你忘了结尾右括号,),为get_post_meta()功能:

$rtitle1 = get_post_meta($post->ID, 'r_title', true; 
$rlink1 = get_post_meta($post->ID, 'href_link', true; 

他们应该是这样的:

$rtitle1 = get_post_meta($post->ID, 'r_title', true); 
$rlink1 = get_post_meta($post->ID, 'href_link', true); 

之前,你想寻求帮助,你应该看看电子你得到的恐怖信息。如果你之前还没有看到过错误信息,那就Google吧。学习一些最好的方法是自己找到解决方案。提出问题是因为您尝试找到解决方案但找不到它。

+0

对不起,我会开始这样做,但我不确定如何。我如何在我的代码中发现错误,以便在我的WordPress网站上测试它们? – user2046471

+0

如果您的代码中存在错误,那么它们将出现在您的网站上。他们通常看起来像这样:“'解析错误:语法错误,在...'中出乎意料的T_IF”。如果你没有看到任何错误,那么看看这个问题的答案:http://stackoverflow.com/questions/5438060/showing-all-errors-and-warnings –