2013-02-06 2 views
0

나는이 문제를 잠시 동안 수색했다. 아마 간단 할 수도 있고 그렇지 않을 수도있다. 나는 이것을 어떻게 작동시키는지를 알 수 없었다.

나의 목표 결과는 포스트 스타일 메타와 관련된 하이퍼 링크가 될 것입니다.

<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입니다. 당신은 그냥 변수와 문자열 (또는 다른 scalar types)를 나란히하는 경우 다음 오류 얻을 것이다

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

:

$end = 'a string'; 
$string = "This is "$end; // Error! 
당신이 함께 문자열을 붙이 할 때 당신은 concatenation operator (: . 점)을 사용할 필요가

두 번째 문제는 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

코드에 오류가있는 경우 사이트에 오류가 표시됩니다. 그들은 보통 다음과 같이 보입니다 : "'Parse error : 구문 오류, 예기치 않은 T_IF in ... '". 오류가 보이지 않으면이 질문에 대한 답을보십시오. http://stackoverflow.com/questions/5438060/showing-all-errors-and-warnings –

관련 문제