• 21-10-2021, 02:13:26
    #1
    Arkadaşlar selamlar , aşağıdaki kodu rankmath.php içine eklediğimde site http 500 hatası veriyor ancak kodu rank math'ın kendi sitesinden aldım ve hiç ellemeden ekledim. Acaba kodda mı hata var ben mi yanlış yere ekliyorum. ( dosyanın en sonuna ekliyorum.
    /**
     * Function to automatically update the focus keyword with the post title, if no focus keyword is set
     */
    function update_focus_keywords() {
        $posts = get_posts(array(
        'posts_per_page'    => -1,
        'post_type'        => 'post' // Replace post with the name of your post type
        ));
        foreach($posts as $p){
            // Checks if Rank Math keyword already exists and only updates if it doesn't have it
            $rank_math_keyword = get_post_meta( $p->ID, 'rank_math_focus_keyword', true );
        if ( ! $rank_math_keyword ){
                update_post_meta($p->ID,'rank_math_focus_keyword',strtolower(get_the_title($p->ID)));
            }
        }
    }
    add_action( 'init', 'update_focus_keywords' );
  • Kabul Edilen Cevap
    • VelihanD adlı üyeden alıntı: mesajı görüntüle
      Bu kodu sadece şu andan sonra eklediğim makalelerde çalışacak şekilde dizayn edebilecek birisi var mı acaba ? Kodu eklemeden önceki makaleleri ellemeyecek yani. ( Ücretli )
      Bugünün tarihinden sonraki postları çekmek işini görmez mi hocam? Aşağıdaki şekilde güncellediğinizde döngüye sadece 2021-10-21 tarihi ve sonra ki postları dahil ediyor. Bugünü de hariç bırakması için inclusive yi false yapabilirsin.

      function update_focus_keywords() {
          $posts = get_posts(array(
          'posts_per_page'    => -1,
          'post_type'        => 'post',
          'date_query' => array(
                  array(
                      'after'     => '2021-10-21',
                      'inclusive' => true,
                      ),
                  ),
          ));
          foreach($posts as $p){
              // Checks if Rank Math keyword already exists and only updates if it doesn't have it
              $rank_math_keyword = get_post_meta( $p->ID, 'rank_math_focus_keyword', true );
          if ( ! $rank_math_keyword ){
                  update_post_meta($p->ID,'rank_math_focus_keyword',strtolower(get_the_title($p->ID)));
              }
          }
      }
      add_action( 'init', 'update_focus_keywords' );
  • 21-10-2021, 02:16:02
    #2
    functions.php'ye eklemeyi denediniz mi ?
  • 21-10-2021, 02:16:08
    #3
    Sayfanın en üstüne aşağıdaki kodu eklediğinizde 500 hatasının php çıktısını görebilmeniz lazım.
    ini_set('display_errors',1);
    error_reporting(E_ALL);
  • 21-10-2021, 02:18:18
    #4
    Kodda bir hata göremedim ancak eklediğiniz yer autoload olmuyor olabilir. Çalıştığınız PHP dosyasına include rtrim($_SERVER['DOCUMENT_ROOT'],'/') . '/wp-load.php'; kodunu ekleyip öyle çalışmayı deneyin.
  • 21-10-2021, 02:28:01
    #5
    Caxing adlı üyeden alıntı: mesajı görüntüle
    functions.php'ye eklemeyi denediniz mi ?
    temanın custom-functions.php dosyasına ekledim ancak yine http 500 hatası veriyor.

    Adilhanomer adlı üyeden alıntı: mesajı görüntüle
    Sayfanın en üstüne aşağıdaki kodu eklediğinizde 500 hatasının php çıktısını görebilmeniz lazım.
    ini_set('display_errors',1);
    error_reporting(E_ALL);
    Bu kodu ekledim ancak hata çıktısını vermedi. Zaten bildiğim kadarıyla 500 hatasında siteye erişim olmadığından çıktı alamıyorsunuz.

    emrenogay adlı üyeden alıntı: mesajı görüntüle
    Kodda bir hata göremedim ancak eklediğiniz yer autoload olmuyor olabilir. Çalıştığınız PHP dosyasına include rtrim($_SERVER['DOCUMENT_ROOT'],'/') . '/wp-load.php'; kodunu ekleyip öyle çalışmayı deneyin.
    Bu kodu ekledim ancak çözüm olmadı maalesef.
  • 21-10-2021, 02:46:35
    #6
    emrenogay adlı üyeden alıntı: mesajı görüntüle
    Kodda bir hata göremedim ancak eklediğiniz yer autoload olmuyor olabilir. Çalıştığınız PHP dosyasına include rtrim($_SERVER['DOCUMENT_ROOT'],'/') . '/wp-load.php'; kodunu ekleyip öyle çalışmayı deneyin.
    Caxing adlı üyeden alıntı: mesajı görüntüle
    functions.php'ye eklemeyi denediniz mi ?
    Adilhanomer adlı üyeden alıntı: mesajı görüntüle
    Sayfanın en üstüne aşağıdaki kodu eklediğinizde 500 hatasının php çıktısını görebilmeniz lazım.
    ini_set('display_errors',1);
    error_reporting(E_ALL);
    Kodu bu şekilde ekliyorum , sanırım bir yazım yanlışı yok ?
  • 21-10-2021, 02:48:57
    #7
    VelihanD adlı üyeden alıntı: mesajı görüntüle
    Kodu bu şekilde ekliyorum , sanırım bir yazım yanlışı yok ?
    Test sitemde denedim bir sorun yok kodda. Sanırım tahmin ettiğim gibi autoload olmuyor. Kodu functions.php'de deneyin.
  • 21-10-2021, 02:55:59
    #8
    VelihanD adlı üyeden alıntı: mesajı görüntüle
    Kodu bu şekilde ekliyorum , sanırım bir yazım yanlışı yok ?
    Fonksiyon daha önce oluşturulduğu içinde olabilir farklı bir isim verip deneyebilir misiniz hocam?
    [COLOR=#515365][FONT=consolas]function update_focus_keywords2() {[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    $posts = get_posts(array([/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    'posts_per_page'    => -1,[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    'post_type'        => 'post' // Replace post with the name of your post type[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    ));[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    foreach($posts as $p){[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]        // Checks if Rank Math keyword already exists and only updates if it doesn't have it[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]        $rank_math_keyword = get_post_meta( $p->ID, 'rank_math_focus_keyword', true );[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    if ( ! $rank_math_keyword ){[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]            update_post_meta($p->ID,'rank_math_focus_keyword',strtolower(get_the_title($p->ID)));[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]        }[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    }[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]}[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]add_action( 'init', 'update_focus_keywords2' );[/FONT][/COLOR]
    gibi.
  • 21-10-2021, 02:58:06
    #9
    mustafabosnak adlı üyeden alıntı: mesajı görüntüle
    Fonksiyon daha önce oluşturulduğu içinde olabilir farklı bir isim verip deneyebilir misiniz hocam?
    [COLOR=#515365][FONT=consolas]function update_focus_keywords2() {[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    $posts = get_posts(array([/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    'posts_per_page'    => -1,[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    'post_type'        => 'post' // Replace post with the name of your post type[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    ));[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    foreach($posts as $p){[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]        // Checks if Rank Math keyword already exists and only updates if it doesn't have it[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]        $rank_math_keyword = get_post_meta( $p->ID, 'rank_math_focus_keyword', true );[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    if ( ! $rank_math_keyword ){[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]            update_post_meta($p->ID,'rank_math_focus_keyword',strtolower(get_the_title($p->ID)));[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]        }[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]    }[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]}[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]add_action( 'init', 'update_focus_keywords2' );[/FONT][/COLOR]
    gibi.
    emrenogay adlı üyeden alıntı: mesajı görüntüle
    Test sitemde denedim bir sorun yok kodda. Sanırım tahmin ettiğim gibi autoload olmuyor. Kodu functions.php'de deneyin.
    Tahmin ettiğim gibi kodu eklediğim satır yanlışmış. Kodu görseldeki gibi en üst satıra eklediğimde sorunsuz çalıştı.