WP Discourse يؤدي العديد من الطلبات إلى site.json

نعم.
الشيء الغريب هو أنه من المفترض أن يتم تخزينه مؤقتًا، وليس لدي سبب للاعتقاد بأن هذا ليس صحيحًا.

$categories = get_transient( 'wpdc_discourse_categories' );
if ( ! empty( $options['publish-category-update'] ) || ! $categories ) {
  $body = $this->discourse_request( '/site.json' );
  if ( is_wp_error( $body ) ) {
    return $body;
  }

  if ( $body->categories ) {

    // removed for brevity

    // Note that setting the cache to 0 will disable transient expiration.
    $category_cache_period = apply_filters( 'wpdc_category_cache_minutes', 10 );
    set_transient( 'wpdc_discourse_categories', $discourse_categories, intval( $category_cache_period ) * MINUTE_IN_SECONDS );

    return $discourse_categories;
  } else {
    return new \WP_Error( 'key_not_found', 'The categories key was not found in the response from Discourse.' );
  }
}

تعديل: عندما أقوم بإدراج العناصر المؤقتة، لدي مفتاح timeout_wpdc_discourse_categories بقيمة طابع زمني في غضون 5 دقائق، ولكن ليس لدي wpdc_discourse_categories:thinking:

تعديل 2: set_transient( 'wpdc_discourse_categories', $discourse_categories, intval( $category_cache_period ) * MINUTE_IN_SECONDS ); يُرجع false. $discourse_categories مملوء بشكل صحيح. العناصر المؤقتة الأخرى تعمل.