Başka bir URL'ye yönlendirir WordPress Sayfa oluştur

5 Cevap php

Ben aslında başka bir siteye link yeni bir WordPress sayfa oluşturmak istedim. Hedef sayfa benim sayfaların listesini göstermek var, ama aslında hedef URL'ye web kullanıcı göndermektir.

Örneğin, ben "My Photos" belirten bir sayfa eklemek istiyorum ama aslında Flickr onları yönlendirir söylüyorlar.

Ben bu PHP bir yönlendirme talimatı ile özel bir şablon sayfasını kullanarak başarmak için bir yol tahmin ediyorum, ama ne yazık ki PHP bir acemi yaşıyorum ve bunu gerçekleştirmek için bir yol aşina değilim ...

5 Cevap

Eğer şablon dosyalarını düzenleyerek yapılması gereken her ikisi de bu iki yol, başarabilirsiniz.

İlki o kadar göstermek istediğiniz yere Hiç sadece navigasyon için bir html bağlantı eklemek etmektir.

Ikinci (ve benim tahminim, aradığınız bir) sizin tema / şablon dizinde yeni. Php dosyası oluşturmak için yeteneği varsa çok zor değil, yeni bir sayfa şablonu yaratmak için olduğunu. Aşağıdaki kodu gibi bir şey yapmanız gerekir:

<?php /*  
Template Name: Page Redirect
*/ 

header('Location: http://www.nameofnewsite.com');
exit();

?>

Şablonu adı da bunu ayarlamak istediğiniz ne olursa olsun ve başlık işlevi url yeni url nerede bir kullanıcı yönlendirmek istiyorum. Sizin ihtiyaçlarınızı karşılamak için yukarıdaki kodu değiştirdikten sonra, şablon adına etkin tema klasöründeki bir php dosyası olarak kaydedin. Eğer şablon adını bırakırsanız Yani, "Sayfa yönlendir" php dosyası sayfa redirect.php isim.

Bu kaydedildikten sonra, WordPress uç giriş, ve yeni bir sayfa oluşturun. Eğer isterseniz size vücut için bir başlık ve içerik ekleyebilirsiniz, ancak dikkat etmek önemli şey sağ tarafta, varsayılan gösterimiyle, bir damla sen hangi sayfa şablonu kullanmayı tercih için aşağı seçenek olması gerektiğidir ilk. Aşağı açılan listesinde, kullanmak için yeni şablon dosyanın adı olmalıdır. Yeni bir şablon seçin, sayfa yayımlamak ve altın olmalıdır.

Ayrıca, vücut düzenleyicisinin altında Özel Alanlar bölümünü kullanarak dinamik hem de yapabilirsiniz. Eğer ilgileniyorsanız, bana bildirin ve ben yeni bir tepki olarak bu adam için kodu yapıştırabilirsiniz.

Ben bu sorunları sık sık en iyi sunucu katmanında çözülmüş olduğunu bulduk. Eğer bir yönlendirme kuralı yer verebilir bir. Htaccess dosyasına erişimi var mı? Eğer öyleyse:

RedirectPermanent /path/to/page http://uri.com

Bu yönlendirme de (örneğin) Flickr sayfasında eski sayfası için kalıcı URI olduğunu belirtmek için bir "301 Kalıcı Olarak Taşındı" yanıtını görev yapacak.

Bu mümkün değil ise, söz konusu her sayfa için özel bir sayfa şablonu oluşturmak ve sayfa şablonuna (aslında, bu şablona ihtiyaç vardır en üstüne aşağıdaki PHP kodu ekleyebilirsiniz:

header('Location: http://uri.com, true, 301');

More information about PHP headers.

Alternatif olarak, bir filtre kullanın.

Eğer olması gereken ne uygun adlı WordPress blog, boş bir sayfa oluşturun. Post_id not alın. Sonra onun permalink değiştiren bir filtre oluşturmak.

add_filter('get_the_permalink','my_permalink_redirect');
function my_permalink_redirect($permalink) {
    global $post;
    if ($post->ID == your_post_id_here) {
        $permalink = 'http://new-url.com/pagename';
    }
    return $permalink;
}

Bu şekilde url hiç komik yönlendirmeleri gerekli sayfasında doğru bir şekilde gösterecektir.

Eğer bu bir sürü yapmak gerekiyorsa, o zaman "offsite_url" değerini girin, ardından gerektiği şekilde sayfaları oluşturabilirsiniz, "offsite_url" ya da buna benzer bir şey için bir postmeta değer tanımlamak ve daha sonra bir filtre kullanmak için özel postmeta alanları kullanarak düşünmek yerine gerekli PostMeta olup olmadığını görmek ve gerektiğinde permalink değiştirmek için kontrol post_id kontrol için yukarıdaki gibi.

Ben Wordpress şablonları ile aşina değilim, ama ben senin şablon bile yüklenmeden önce başlıkları WP tarafından tarayıcınıza gönderilen varsayarak yaşıyorum. Bu nedenle, ortak yönlendirme yöntemi:

header("Location: new_url");

çalışmaz. WP şey yok önce bir şablonla başlıkları gönderme zorlamak için bir yolu var sürece, bu nedenle gibi bazı JavaScript kullanmak gerekir:

<script language="javascript" type="text/javascript">
document.location = "new_url";
</script>

Bölümünde koymak ve sayfa yüklendiğinde çalıştırmak olacak. Bu yöntem anında olmayacak ve aynı zamanda JavaScript devre dışı insanlar için çalışmaz.

Bunu yapmanın 3 yolu vardır:

  1. Lütfen 404.php kodunu değiştirerek.
  2. Wordpress eklentileri kullanarak.
  3. Lütfen .htaccess dosyasını düzenleyerek.

http://bornvirtual.com/wordpress/redirect-404-error-in-wordpress/906/ verilen tam bir öğretici