Burada veya web'de başka bir yerde bulduğum kod parçacıklarını nereye koyacağım?


34

Buradaki veya başka bir yerdeki birçok gönderide kod var, ancak nereye koyacaklarını söylemiyorlar.

Örnek:

Bu yazıyı buldum: 301 yönlendirme yazılarını (kanonik değil) nasıl kapatırım?
PHP ile acemiyim. Kodu cevaptan tam olarak nereye yerleştirmeliyim?


1
Sorunuzu daha az yerel hale getirme özgürlüğünü kullandım, bu yüzden gelecekte de benzer soruları cevaplayan bir görevimiz var. Bunun doğru olmadığını düşünüyorsanız, düzenleme geçmişinde geri alma bağlantısını kullanın.
fuxia

1
Ayrıca, bu soru hakkında bir yorum bırakmayı deneyebilir ve orada sorabilirsiniz.
JimmyPena

Yanıtlar:


34

Açık kurulum talimatları olmadan bir kod parçası bulduğunuzda, muhtemelen bir eklentidir. Verdiğiniz örnek iyi bir örnek, çünkü en yaygın durum budur:

add_action('template_redirect', 'remove_404_redirect', 1);
function remove_404_redirect() {
// do something
}

Böyle bir snippet kullanmak için eklentiye ekleyin:

  1. Yeni bir dosya oluşturun, örneğin adlandırın remove_404_redirect.php.
  2. En başında basit eklenti başlıklarını dosyaya yazın . Kodu bulduğunuz URL'yi Plugin URLve kod yazarını aşağıdaki gibi kullanın Plugin Author:

    <?php
    /**
     * Plugin Name: Remove 404 redirect
     * Description: Disable redirects to similar posts.
     * Plugin URI:  https://wordpress.stackexchange.com/questions/44740/how-do-i-turn-off-301-redirecting-posts-not-canonical
     * Author:      William
     * Author URI:  https://wordpress.stackexchange.com/users/9942/william
     */
  3. Kullanmak istediğiniz kodu eklenti başlıklarının altına yerleştirin.

  4. Yeni eklentiyi yükleyin .

Hepsi bu kadar millet.

Sen olabilir Temanızın yıllardan kod ekleyin functions.php. Ancak bu iyi bir fikir değil:

  • Genellikle, kod sitenizin verilerinin görsel temsilini değiştirmeyi amaçlamaz. Ama bu bir temanın tek amacı. Sorumlulukları karıştırmayın.
  • İçindeki kod functions.phpayrı ayrı kapatılamaz. Kod bir gün kırılırsa, functions.phptekrar düzenlemelisiniz veya tema değiştirmelisiniz. Başka bir tema kullanmak istiyorsanız, tüm bu kodu tekrar kopyalayıp yapıştırmanız gerekir.
  • Eğer içine daha fazla parçacık koyarsanız functions.php, zaman içinde anlaşılmaz bir karışıklık elde edersiniz.

İlgili: Kodumu nereye koyacağım: plugin or functions.php?


Teşekkür ederim! Bir cazibe gibi çalıştı. Gönderiyi daha az yerel hale getirdiğin için teşekkürler. Eklenti dosyamı başkalarıyla nasıl paylaşabilirim?
Carl

1
Bunu wordpress.org'da veya GitHub gibi ücretsiz bir kod barındırma hizmetinde yayınlayabilirsiniz. Ama bunu yapmadan önce yazara sorardım. Bir cevabın probleminizi çözdüğünü belirtmek için, cevabın üzerindeki küçük onay işaretine tıklayın, böylece diğer okuyucular hemen görecektir.
fuxia

Bunun gibi bir eklenti oluştururken, dosyayı bir klasöre koymam ve sıkıştırmam / sıkıştırmam gerekiyor mu, yoksa eklenti yükleyici de bağımsız bir php ile çalışır mı?
OC2PS

Ayrıca, add_filter ('flush_rewrite_rules_hard', '__return_false'); iş?
OC2PS

1
@ OC2PS Hayır, dosyanın sonu programın sonudur.
fuxia

16

Ben bir yönetici arayüzü üzerinden bir WordPress sitesine kod parçacıkları eklemenizi sağlayan eklenti geliştiricisiyim.

Snippet'leri yönetmek için Eklentiler menüsüne benzer bir grafik arayüz ekler. Metin parçacıkları etkinleştirilebilir veya devre dışı bırakılabilir, bir ad ve açıklama atanabilir ve etiketler kullanılarak kategorize edilebilir. Ayrıca, alma / verme özelliğini kullanarak siteler arasında yedeklenebilir ve aktarılabilir.

Mevcut snippet'leri yönetme

Pasajı düzenleme

Daha fazla ekran görüntüsü

WordPress.org'daki Kod Parçacıkları eklentisi hakkında daha fazla bilgi edinebilir ve kodunu GitHub'da görebilirsiniz .


6

Bağlantıda belirtilen kod, canonical.php dosyasına değil, temanızın functions.php dosyasına yerleştirilmelidir. Her zaman çekirdek WP dosyalarını değiştirmekten kaçınmalısınız. Başka bir kodun üzerine yazmak veya yorum yapmak zorunda değilsiniz.

Düzenleme yapmadan önce functions.php dosyanızın yedeğini alın, functions.php dosyasındaki basit bir sözdizimi hatası bile tüm sitenizi kaplayabilir.


Herhangi bir çekirdek WP dosyasını değiştirmek istemedim. Yardımın için teşekkürler.
Carl

7
@Carl Açıkça için devletler değil çekirdek dosyaları değiştirebilir. Sad Ben olamayacağını downvote yorumlarınızı ...
kaiser

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.