Trik za wordpress developere

Trik za wordpress developere

Objavljeno na: 27 siječnja, 2025

Kako dodati custom polja u REST API

Ako ste WordPress developer i koristite Custom Post Type (CPT), sigurno ste se susreli s potrebom da proširite REST API dodatnim podacima. Najlakši način da to učinite je pomoću register_rest_field(). U ovom članku naučit ćete kako brzo i jednostavno dodati prilagođena polja u WordPress REST API.


💡 Kako Dodati Custom Polja u WordPress REST API

Recimo da imate CPT “apartments” i želite dodati polje “cijena_apartmana” u REST API odgovor. To možete učiniti na sljedeći način:

add_action('rest_api_init', function () {
    register_rest_field('apartments', 'cijena_apartmana', array(
        'get_callback'    => function($post) {
            return get_post_meta($post['id'], 'cijena_apartmana', true);
        },
        'update_callback' => null, // Omogućite ako želite ažuriranje kroz API
        'schema'          => array(
            'description' => 'Cijena apartmana',
            'type'        => 'string',
            'context'     => array('view', 'edit')
        ),
    ));
});

✅ Zašto koristiti register_rest_field()?

✔️ Jednostavniji način za dodavanje custom polja.
✔️ Automatski se primjenjuje na REST API odgovore.
✔️ Modularan pristup – lako dodajete više polja bez dodatnih filtera.
✔️ Može se koristiti za integraciju s Gutenberg blokovima, WP admin ekstenzijama, ili headless WordPress rješenjima.


🔄 WP Admin Ekstenzije: Kako Iskoristiti REST API u Admin Panelu

Ako želite da WordPress Admin prikazuje “cijena_apartmana” u popisu postova, koristite sljedeći kod:

// Dodavanje stupca u WP Admin
function add_price_column($columns) {
    $columns['apartment_price'] = 'Cijena Apartmana';
    return $columns;
}
add_filter('manage_apartments_posts_columns', 'add_price_column');

// Popunjavanje stupca s podacima
function show_price_column_data($column, $post_id) {
    if ($column === 'apartment_price') {
        echo get_post_meta($post_id, 'cijena_apartmana', true) . ' €';
    }
}
add_action('manage_apartments_posts_custom_column', 'show_price_column_data', 10, 2);

Ovim trikom olakšavate unos i pregled podataka direktno u WordPress Adminu.


🌐 Headless WordPress: REST API u Frontendu

Headless WordPress znači da koristite WordPress samo kao backend, dok frontend može biti izrađen u Reactu, Vue.js-u, Next.js-u ili drugoj modernoj tehnologiji.

Ako frontend aplikacija želi dohvatiti podatke o apartmanima preko REST API-ja, koristi sljedeći JavaScript kod:

fetch('https://example.com/wp-json/wp/v2/apartments')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Greška:', error));

✅ Prednosti Headless WordPressa

✔️ Brži frontend (SPA ili statični site generatori poput Next.js).
✔️ Fleksibilnost – WordPress kao CMS, frontend u bilo kojoj modernoj tehnologiji.
✔️ Mogućnost integracije s mobilnim aplikacijama.


🔎 Zaključak

Bilo da proširujete WordPress Admin, radite na REST API integracijama ili razvijate headless WordPress rješenja, register_rest_field() je moćan alat koji će vam olakšati posao.

Kontakt

Pošaljite nam poruku i pretvorite posjetitelje vaše web stranice u eure