Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Wordpress yazı içinde etiket (tag) kullanmak

Merhaba arkadaşlar,

Wordpress'de bazı eklentileri kullanarak, yazılarımızın içine yazdığımız [etiket] gibi etiketler ile farklı şeyler ekleyebiliyoruz yazılarımıza. Örneğin bir resim galerisi eklentisiyle yazılarımın içinede [singlepic id=79 w=250 h=250 float=left] etiketini kullanarak ekrana resim yazdırabiliyorum.

İşte benim de bu tür etiketler yapmam gerekiyor. Örnek vermek gerekirse yazılarımın içinde [ornek-etiket] 'in olduğu yerlerde "Burada örnek bir etiket kullanılmıştır." yazısı belirsin.

Sanırım böyle bir şey yapmak için eklenti oluşturmak gerekiyor. PHP bilgim az çok var ama Wordpress'de yeniyim. Yardımcı olursanız sevinirim. Şimdiden teşekkürler.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • UmutYerebakmaz adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    11 cevap - 0 soru
    Bahsettiğiniz konu başlığı Wordpress'te kendi "shortcode" larımı nasıl ekleyebilirim olmalı. Olursa sizden sonraki arkadaşlar da rahatlıkla faydalanabilirler.

    Öncelikle wp de shortcode kullanımı her temaya göre farklılık gösterir.

    1. Kullandığınız temanın "fucntion.php" dosyasını açın.


    //yeni bir function yaratalım
    function kisakod() {
     return 'merhaba ben yeni bir kısakodum';
    }
    


    2. Şimdi eklediğimiz fonksiyona yeni bir parametre girmeliyiz.

    3.
    add_shortcode('denemekod', 'deneme');
    


    4. "function.php" dosyasını son haliyle kaydedin.

    5. HTML editorünü açın ve içeriğinize eklmek istediğiniz "shortcode" u yazın. Bizim yeni yaptığımız kısakod [denemekod]

    6. Herşeyi doğru yaptıysanız ekranda merhaba ben yeni bir kısakodum yazısının çıkmarı gerekir.
    • NooBisH adlı üyenin fotoğrafı NooBisH
      //yeni bir function yaratalım
      function kisakod() {
       return 'merhaba ben yeni bir kısakodum';
      }
      add_shortcode('denemekod', 'kisakod');
      


      'deneme' kısmını 'kısakod' yaptım şimdi çalışıyor. Çok teşekkür ederim :)
      10 yıl önce yazılmış

Cevaplar

  • siyahbeyaz adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    472 cevap - 20 soru
    wordpress ten pek fazla anlamam. wordpress the_content() ibaresini fonksiyonla replace eden bir dosya vardi. include klasörünün icinde.

    o dosya bir preg_replace ile işi halledebileceginizi düsünüyorum. farklı metod ise preg_match ile kelime icerigini parcaliyip sekilendirmek...

    [etiket="Makale"] gibi bir yazıyı

    preg_match ile weya preg_replace ile istediginiz hale getirebilirsiniz..

    ben gerekli kodu vereyim.
    
    <?
    function etiketle($veri) {
    $veri = preg_replace('#[etiket="(.*?)"]#','<a href="/tag/$1">$1</a>',$veri);
    return $veri;
    }
    
    $yazi '
    merhaba dünya ben tek elimle [etiket="klavye"] kullanıyorum
    ';
    
    echo etiketle($yazi);
    
    ?> 
    
    • NooBisH adlı üyenin fotoğrafı NooBisH
      Öncelikle cevamın için teşekkür ederim. Bu şekilde denedim, işe yarıyor ama eklentilerin etiketleri çalışmıyor bu sefer :)
      10 yıl önce yazılmış
    • siyahbeyaz adlı üyenin fotoğrafı siyahbeyaz
      eklentilerin etiketleri derken ?

      veri eklerken ozel alan alanlarından mı bahsediyorsunuz acaba?
      10 yıl önce yazılmış
    • NooBisH adlı üyenin fotoğrafı NooBisH
      Mesela kullanmakta olduğum galeri eklentisinin [singlepic id=79 w=250 h=250 float=left] etiketiyle yazılarıma resim ekleyebiliyorum.

      Ama dediğin sistemi yapınca [singlepic id=79 w=250 h=250 float=left] etiketi olduğu gibi çıkıyor. Resim olarak gözükmüyor yani.
      10 yıl önce yazılmış
    • siyahbeyaz adlı üyenin fotoğrafı siyahbeyaz
      
      <?
      function etiketle($veri) {
      if(strpos($veri, '[etiket="')!==false) {
      $veri = preg_replace('#[etiket="(.*?)"]#','<a href="/tag/$1">$1</a>',$veri);
      return $veri;
      } 
      }
      
      $yazi '
      merhaba dünya ben tek elimle [etiket="klavye"] kullanıyorum
      ';
      
      echo etiketle($yazi);
      
      ?> 
      
      
      10 yıl önce yazılmış