0

展開されたカスタムフィールド文字列をポストパーマリンクと交互に使用する、この2つの関数を作成しました。

(カスタムフィールドは次のようになります:例:Google ++ http //:google.com ")

// Custom Permalink
function custom_permalink($url){
    global $post;
    $link = get_post_meta($post->ID,'link',true);
    if ($link) {
        $pieces = explode("++", $link);
        $url = $pieces[1];
    } else {
        $url = the_permalink();
    }
    return $url;
}

// Via Text
function via_text($url){
    global $post;
    $link = get_post_meta($post->ID,'link',true);
    if ($link) {
        $pieces = explode("++", $link);
        $url = ' <span><a href="'.$pieces[1].'">Via '.$pieces[0].'</a></span>';
    } else {
        $url = ' ';
    }
    return $url;
}

... MAMPサーバーでテストすると問題なく動作しますが、デプロイすると次のようになります。

「警告:引数1がありません」

なぜこれが起こっているのか考えていますか?

4

1 に答える 1

1

わかりました...わかりました...これは、クラスがインスタンス化され、コンストラクターのデフォルトの引数がない場合に発生します...

これが機能する機能です...

    // Custom Permalink
    function custom_permalink($url='') {
        global $post;
        $link = get_post_meta($post->ID,'link',true);
        if ($link) {
            $pieces = explode("++", $link);
            $url = $pieces[1];
        } else {
            $url = the_permalink();
        }
        return $url;
    }

    // Via Text
    function via_text($url='') {
        global $post;
        $link = get_post_meta($post->ID,'link',true);
        if ($link) {
            $pieces = explode("++", $link);
            $url = ' <span><a href="'.$pieces[1].'">Via '.$pieces[0].'</a></span>';
        } else {
            $url = ' ';
        }
        return $url;
    }

誰かが困っている場合に備えて...彼らがしていること:

カスタムフィールドの「リンク」(Google ++ http://google.comなど)を含む投稿がある場合、関数はパーマリンクをカスタムリンクに置き換えます。したがって、テーマの呼び出しでは、echo custom_permalink(); ... the_permalink();の代わりに

via_text()関数の動作は少し異なります。カスタムフィールドの「リンク」が次のように展開されたスパンタグを呼び出します。

     <span><a href="http://google.com">Via Google</a></span>

これが他の誰かのために働くことを願っています

:)

于 2012-08-28T11:15:45.903 に答える