• 15-04-2020, 03:13:00
    #1
    Merhabalar, bu katregoride çok dolaşıyorum şu aralar kusura bakmayın

    Kod-1
    <?php echo postChange (get_permalink()); ?>
    Kod-1 Bu şekilde sorunsuz çalıştırabiliyorken

    Kod-2
    <?php echo pageChange (esc_url()); ?>
    Yukarı daki gibi çalıştırmaya çalıştığımda çalıştıramıyorum nasıl bir yol izlemeliyim?
  • 15-04-2020, 03:16:25
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    iki kod arasında ki tek fark fonksiyon isimleri değil mi ? öyleyse fonksiyonlarınızı kontrol etmelisiniz.
  • 15-04-2020, 03:18:08
    #3
    FarukArig adlı üyeden alıntı: mesajı görüntüle
    iki kod arasında ki tek fark fonksiyon isimleri değil mi ? öyleyse fonksiyonlarınızı kontrol etmelisiniz.
    <?php
    //POST
    function postChange ($Url) {
    if(array_key_exists('amp', $_GET)){
    echo str_replace("http://", "https://www.example.com/", get_permalink());
    }else{
    echo the_permalink();
    }
    }
    //PAGE
    function homeChange ($Url) {
    if(array_key_exists('amp', $_GET)){
    echo str_replace("http://", "https://www.example.com/", get_permalink());
    }else{
    echo the_permalink();
    }
    }
    Fonksiyonlarda sorun göremedim hocam
  • 15-04-2020, 03:21:45
    #4
    eğer tüm kodlar bu kadarsa olmayan bir fonksiyonu kullanmaya çalışıyorsunuz hocam pageChange yerine homeChange olmalı
  • 15-04-2020, 03:22:56
    #5
    KingTurk adlı üyeden alıntı: mesajı görüntüle
    <?php
    //POST
    function postChange ($Url) {
    if(array_key_exists('amp', $_GET)){
    echo str_replace("http://", "https://www.example.com/", get_permalink());
    }else{
    echo the_permalink();
    }
    }
    //PAGE
    function homeChange ($Url) {
    if(array_key_exists('amp', $_GET)){
    echo str_replace("http://", "https://www.example.com/", get_permalink());
    }else{
    echo the_permalink();
    }
    }
    Fonksiyonlarda sorun göremedim hocam
    fonksiyona parametre olarak verdiğiniz değeri kullanmadığınız için çalışmıyor.

    function postChange ($Url) {
    if(array_key_exists('amp', $Url)){
    echo str_replace("http://", "https://www.example.com/", $Url);
    }else{
    echo $Url;
    }
    }
    //PAGE
    function homeChange ($Url) {
    if(array_key_exists('amp', $Url)){
    echo str_replace("http://", "https://www.example.com/", $Url);
    }else{
    echo $Url;
    }
    }
  • 15-04-2020, 03:23:05
    #6
    onurgosteris adlı üyeden alıntı: mesajı görüntüle
    eğer tüm kodlar bu kadarsa olmayan bir fonksiyonu kullanmaya çalışıyorsunuz hocam pageChange yerine homeChange olmalı
    Onu eksik yazmışım düzelttim fakat sonuç aynı
  • 15-04-2020, 03:23:25
    #7
    fonksiyon isimlerini doğru kullandığınızdan emin misiniz? homeChange ve pageChange karışmış gibi duruyor
  • 15-04-2020, 03:24:23
    #8
    FarukArig adlı üyeden alıntı: mesajı görüntüle
    fonksiyon isimlerini doğru kullandığınızdan emin misiniz? homeChange ve pageChange karışmış gibi duruyor
    Evet eminim hocam bir sorun görünmüyor



    ebasit adlı üyeden alıntı: mesajı görüntüle
    fonksiyona parametre olarak verdiğiniz değeri kullanmadığınız için çalışmıyor.

    function postChange ($Url) {
    if(array_key_exists('amp', $Url)){
    echo str_replace("http://", "https://www.example.com/", $Url);
    }else{
    echo $Url;
    }
    }
    //PAGE
    function homeChange ($Url) {
    if(array_key_exists('amp', $Url)){
    echo str_replace("http://", "https://www.example.com/", $Url);
    }else{
    echo $Url;
    }
    }
    Eksik yazmışım doğrusunu ekledim sonuç aynı hocam



    Konu Biraz Dağıldı Amacım Sadece Replace Yapmaktı

    <?php echo esc_url( $url ); ?>
  • 15-04-2020, 03:33:23
    #9
    tekrar kontrol ettim de wordpress olduğunu düşünüyorum the_permalink() fonksiyonu olduğu için.
    the_permalink() text olarak url dönüyor, diğer esc_url() fonksiyonu da aynı şekilde. yani array_key_exists ile kontrol edemezsiniz. strpos ile text içerisinde aranan kelime kontrolü yapabilirsiniz

    sadece replace yapacaksanız şöyle yapabilirsiniz.
    function replace_url($Url){
    if(strpost($Url,'amp') !== false){
    /* url içinde amp kelimesi geçiyor */
    echo str_replace("http://", "https://www.example.com/", $Url);
    }else{
    echo $Url;
    }