Αυτό το άρθρο εξηγεί πώς να κάνετε HTTP Requests στο WordPress χρησιμοποιώντας τις ενσωματωμένες λειτουργίες wp_remote_*. Παρέχει παραδείγματα για την πραγματοποίηση αιτήσεων GET, POST, PUT και DELETE, καθώς και συμβουλές για τον χειρισμό των απαντήσεων και των σφαλμάτων. Επιπλέον, καλύπτει επίσης τη χρήση ορισμένων πρόσθετων προγραμμάτων, όπως η επέκταση WP HTTP API, η οποία διευκολύνει περισσότερο την πραγματοποίηση HTTP Requests στο WordPress.
Στο WordPress, μπορείτε να κάνετε HTTP Requests χρησιμοποιώντας τις ενσωματωμένες λειτουργίες wp_remote_*. Αυτές οι συναρτήσεις αποτελούν μέρος του WordPress HTTP API, το οποίο έχει σχεδιαστεί για να διευκολύνει την αποστολή HTTP Requests και τον χειρισμό απαντήσεων HTTP.
Ακολουθεί ένα παράδειγμα πραγματοποίησης ενός αιτήματος GET χρησιμοποιώντας τη συνάρτηση wp_remote_get():
$response = wp_remote_get( 'https://jsonplaceholder.typicode.com/posts' );
if ( is_wp_error( $response ) ) {
// something went wrong
echo 'Error: ' . $response->get_error_message();
} else {
// request was successful
$data = json_decode( $response['body'] );
print_r( $data );
}
Μπορείτε επίσης να κάνετε ένα αίτημα POST χρησιμοποιώντας τη συνάρτηση wp_remote_post():
$args = array(
'method' => 'POST',
'timeout' => 45,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(),
'body' => array( 'foo' => 'bar' ),
'cookies' => array()
);
$response = wp_remote_post( 'https://jsonplaceholder.typicode.com/posts', $args );
if ( is_wp_error( $response ) ) {
// something went wrong
echo 'Error: ' . $response->get_error_message();
} else {
// request was successful
$data = json_decode( $response['body'] );
print_r( $data );
}
Μπορείτε επίσης να χρησιμοποιήσετε τις συναρτήσεις wp_remote_put() και wp_remote_delete() για αιτήσεις PUT και DELETE.
Συνιστάται επίσης να ελέγχετε τις τιμές επιστροφής, τους κωδικούς κατάστασης και να χειρίζεστε τα σφάλματα αναλόγως σε περιβάλλον παραγωγής.
Μπορείτε επίσης να χρησιμοποιήσετε ορισμένα πρόσθετα, όπως η επέκταση WP HTTP API, για να διευκολύνετε ακόμη περισσότερο την πραγματοποίηση HTTP requests στο WordPress.
Οδηγός βήμα προς βήμα για το πώς να κάνετε HTTP requests στο WordPress:
- Αρχικά, θα πρέπει να συμπεριλάβετε το WordPress HTTP API καλώντας τη συνάρτηση wp_remote_. Αυτό μπορεί να γίνει με την απλή προσθήκη της συνάρτησης wp_remote_ στον κώδικά σας.
- Στη συνέχεια, θα πρέπει να ορίσετε τη διεύθυνση URL στην οποία θέλετε να κάνετε την αίτηση. Αυτό μπορεί να γίνει περνώντας τη διεύθυνση URL ως όρισμα στη συνάρτηση wp_remote_*.
- Για αιτήσεις GET, μπορείτε να χρησιμοποιήσετε τη συνάρτηση wp_remote_get() για να ανακτήσετε δεδομένα από την καθορισμένη διεύθυνση URL. Για παράδειγμα, για να ανακτήσετε δεδομένα από το url ‘https://jsonplaceholder.typicode.com/posts‘, θα χρησιμοποιήσετε τον ακόλουθο κώδικα:
$response = wp_remote_get( 'https://jsonplaceholder.typicode.com/posts' );
4. Για POST requests, μπορείτε να χρησιμοποιήσετε τη συνάρτηση wp_remote_post() για να στείλετε δεδομένα στην καθορισμένη διεύθυνση URL. Για παράδειγμα, για να στείλετε δεδομένα στο url ‘https://jsonplaceholder.typicode.com/posts’ χρησιμοποιώντας τη μέθοδο POST, θα χρησιμοποιήσετε τον ακόλουθο κώδικα:
$args = array(
'method' => 'POST',
'timeout' => 45,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(),
'body' => array( 'foo' => 'bar' ),
'cookies' => array()
);
$response = wp_remote_post( 'https://jsonplaceholder.typicode.com/posts', $args );
5. Για τις PUT requests, μπορείτε να χρησιμοποιήσετε τη συνάρτηση wp_remote_put() για να ενημερώσετε τα δεδομένα στην καθορισμένη διεύθυνση URL. Για παράδειγμα, για να ενημερώσετε τα δεδομένα στο url ‘https://jsonplaceholder.typicode.com/posts/1’ χρησιμοποιώντας τη μέθοδο PUT, θα χρησιμοποιήσετε τον ακόλουθο κώδικα:
$args = array(
'method' => 'PUT',
'timeout' => 45,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(),
'body' => array( 'foo' => 'bar' ),
'cookies' => array()
);
$response = wp_remote_put( 'https://jsonplaceholder.typicode.com/posts/1', $args );
6. Για DELETE requests, μπορείτε να χρησιμοποιήσετε τη συνάρτηση wp_remote_delete() για να διαγράψετε δεδομένα στην καθορισμένη διεύθυνση URL. Για παράδειγμα, για να διαγράψετε δεδομένα στο url ‘https://jsonplaceholder.typicode.com/posts/1’ χρησιμοποιώντας τη μέθοδο DELETE, θα χρησιμοποιήσετε τον ακόλουθο κώδικα:
$response = wp_remote_delete( 'https://jsonplaceholder.typicode.com/posts/1' );
- Μετά την υποβολή request, είναι πάντα καλή πρακτική να ελέγχετε τις τιμές επιστροφής, τους κωδικούς κατάστασης και να χειρίζεστε τα σφάλματα ανάλογα στο περιβάλλον παραγωγής.
- Αν θέλετε να διευκολύνετε ακόμη περισσότερο την πραγματοποίηση αιτημάτων HTTP στο WordPress, μπορείτε να χρησιμοποιήσετε ορισμένα πρόσθετα, όπως η επέκταση WP HTTP API.
Σημείωση: Τα παραπάνω παραδείγματα χρησιμοποιούν το JSONPlace