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

1 に答える 1

1

コードにはいくつかの問題があります。

最初の問題は文字列の連結です。文字列を接着する場合は、連結演算子(ドット:)を使用する必要があります.

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

変数と文字列(または他のスカラー型)を並置すると、エラーが発生します。

$end = 'a string';
$string = "This is "$end; // Error!

2番目の問題は、グローバルスコープにある2つの変数($rtitle1および$rlink1)を使用していることです。関数内でグローバル変数を使用する場合は、関数内でグローバル変数として宣言する必要があります。

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

)3番目の問題は、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で検索してください。何かを学ぶための最良の方法は、自分で解決策を見つけることです。質問をするのは、解決策を見つけようとしたが見つからない場合です。

于 2013-02-06T11:01:24.687 に答える