Wordpress, PHP, URL Kodlama Sayı

3 Cevap php

Wordpress bunu tahmin döndürür "the_permalink ()" adlı bir fonksiyon sağlar!, Belirli bir mesaja kalıcı mesajların bir döngü içinde süre.

Ben bu kodu çalıştırdığınızda permalink ve URL kodlama çalışıyorum:

<?php
print(the_permalink());
$permalink = the_permalink();
print($permalink);
print(urlencode(the_permalink()));
print(urlencode($permalink));
$url = 'http://wpmu.local/graphjam/2008/11/06/test4/';
print($url);
print(urlencode($url));
?>

Bu HTML bu sonuçlar üretir:

http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http%3A%2F%2Fwpmu.local%2Fgraphjam%2F2008%2F11%2F06%2Ftest4%2F

Ben çıktı satır 2, 3 ve 5 kodlanmış URL olması beklenir, ancak satır 5 böyledir. Düşünceler?

3 Cevap

the_permalink() echoes kalıcı

get_the_permalink() returns, bir değişkene atanabilir böylece permalink.

(Aynı WordPress en fonksiyonları ile gider: the_something () bir get_the_something var () yerine onu yankılanan değerini döndürmek için)

@ Jonathan bunun nedenini ve WordPress onunla mücadele etmesi yolu (yani iş için doğru işlevini kullanın) sahiptir.

Burada bir dize döndüren bir işlevi olmadığı zaman bunu düzeltmek için nasıl:

ob_start();
the_permalink();
$permalink = ob_get_clean();
print(urlencode($permalink));