Php 使用$output创建超链接快捷码?

Php 使用$output创建超链接快捷码?,php,html,wordpress,shortcode,Php,Html,Wordpress,Shortcode,我搜索这个问题已经有一段时间了,可能是简单的,也可能不是。我想不出如何让它工作 我的目标结果将是一个超链接相关的后元与一些样式如此 <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); $rlin

我搜索这个问题已经有一段时间了,可能是简单的,也可能不是。我想不出如何让它工作

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

<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');
?>

您的代码有几个问题

第一个问题是与。要将字符串粘合在一起,需要使用(点:
):

如果只是将变量和字符串(或任何其他)并列,则会出现错误:

$end = 'a string';
$string = "This is "$end; // Error!
第二个问题是,您正在使用中的两个变量(
$rtitle1
$rlink1
)。如果要在函数内使用全局变量,则需要在函数内将其声明为全局变量:

$globalVar = 'test';
function test() {
  global $globalVar;
  echo $globalVar;
}
$rtitle1 = get_post_meta($post->ID, 'r_title', true;
$rlink1 = get_post_meta($post->ID, 'href_link', true;
第三个问题是,您忘记了
get\u post\u meta()
函数的结尾括号

$globalVar = 'test';
function test() {
  global $globalVar;
  echo $globalVar;
}
$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);

在考虑寻求帮助之前,您应该先查看收到的错误消息。如果您之前没有看到错误消息,请用谷歌搜索它。学习的最好方法是自己找到解决办法。问问题是指当你试图找到解决方案但却找不到解决方案时。

你不需要在单引号内逃避双引号。我会开始这样做,但我不确定怎么做。在我的wordpress网站上测试代码时,我怎样才能发现代码中的错误?如果代码中有错误,那么它们将出现在你的网站上。它们通常看起来像:“
Parse error:syntax error,如果在…
中出现意外的T_”。如果没有发现任何错误,请查看此问题的答案: