Web Programiranje

  • Home
  • Tehnologije i alati
    • Back
    • Instalacija alata za web development
    • Domen i hosting
    • npm & yarn osnove
    • GIT
      • Back
      • Git osnove i instalacija
      • Git naredbe
      • Git submodul
    • Objektno orjentisano programiranje – OOP
    • JSON (format za razmenu podataka)
    • Binarni sistem
    • Docker: Pokretanje aplikacija svuda
    • Baze podataka
      • Back
      • Sistemi za upravljanje SQL bazama (DBMS)
      • SQL osnovne naredbe (upiti)
    • Osnove linux-a za web developere
    • Šta je “Dependencies injection”?
    • Šta je SCRUM?
    • Web servisi (osnove)
    • Mrežni protokoli (osnove)
    • Mobilne aplikacije
      • Back
      • Razvoj mobilnih aplikacija
      • Hibridne mobilne aplikacije
    • Chrome DevTools
  • HTML
    • Back
    • Uvod u osnove HTML-a
    • Osnovni HTML tagovi
    • HTML tagovi za grupisanje sadržaja
    • Strukturno obeležavanje (Structured Data)
  • CSS
    • Back
    • CSS selektori
    • Box model
    • Pozicioniranja sadržaja sa CSS-om (osnove)
    • Stilizovanje i pozicioniranje teksta u kontejneru sa CSS-om
    • Animacija
      • Back
      • Uvod u animaciju sa CSS-om
      • Animacija sa CSS svojstvom “transition”
      • Animacija sa CSS svojstvom “animation”
  • JavaScript
    • Back
    • Osnove
      • Back
      • Scope (oblast definisanosti promenjive)
      • Šta je hoisting?
      • Tipovi podataka u JavaScriptu
      • Konverzija tipova u JavaScript-u
      • JavaScript operatori
      • Metode za rad sa nizovima
      • Značenje operatora “this” u JavaScript-u
      • Petlje i iteracije u JavaScript-u
      • JS snippets
        • Back
        • JS snippets u radu sa DOM-om
        • JS snippets u radu sa nizovima
        • JS snippets razno (tips & tricks)
    • Napredni koncepti
      • Back
      • Novi JavaScript standardi
        • Back
        • Pregled novih JS standarda: ES2015, ES2016…
        • let & const
        • Arrow funkcija
        • Podrazumevane vrednosti parametara funkcije
        • Nove metode za rad sa nizovima
        • “Object literal” poboljšanja
        • Eksponencijalni operator **
        • Novi tipovi podataka Map, Set & Symbol
        • Iteratori & Generatori
        • Spread & Rest operator
        • Destruktuiranje u JavaScriptu
      • Šta su JavaScript closure?
      • Sve o događajima u JavaScriptu
        • Back
        • Dogadjaji u JavaScript-u (JS Events)
        • Pregled ugradjenih dogadjaja u JS
        • Pregled svojstava event objekta
      • Sve o objektima kreiranje, nasledjivanje…
        • Back
        • Svojstva i metode konstruktorske f-je Object()
        • 1001 način kreiranja objekata u JavaScriptu
        • Prototipsko nasledjivanje
        • Klase u JavaScript-u
      • JavaScript-a i njegovo okruženje
        • Back
        • Simbioza JavaScripta i njegovog okruženja
        • Pregled objekata ugradjenih u JavaScript
        • Pregled objekata ugradjenih u okruženje (Browser & node) tzv. Web API
      • Modularno programiranje u JavaScript-u
        • Back
        • Uvod u modularno programiranje
        • Modularno programiranje sa ES5
        • Modularno programiranje – eksterna sintaksa (AMD & CommonJS)
        • Modularno programiranje sa ES6
      • Asinhroni JavaScript
        • Back
        • Princip rada asinhronog JavaScript-a
        • Cross Domain DATA Request
        • AJAX sa plain JavaScript-om
        • Prikupljanje podataka iz forme sa FormData interfejsom
        • Promise (osnove)
        • “Async/Await” sintaksa za bolje “Promise”
      • (Ne)moguće greške u JavaScript-u
  • Vue.js
    • Back
    • Šta je Vue.js?
    • Instalacija Vue.js
    • Svojstva Vue instance
    • Pristup svojstvima Vue.js instance
    • Životni ciklus Vue.js instance/komponente
    • HTML interpolacija u okviru Vue.js
    • Direktive
      • Back
      • Šta su Vue.js direktive
      • Direktiva v-bind:
      • Direktiva v-on:
      • Direktiva v-model
      • Direktiva v-for
      • Direktiva v-if
      • Direktive v-show & v-once & v-cloak
      • Direktive v-text & v-html & v-pre
      • Custom Vue direktive
    • Filtriranje sa Vue.js
    • Vue komponente
      • Back
      • Šta su Vue.js komponente?
      • Komunikacija izmedju komponenti tip “parent – child”
      • Komunikacija izmedju susednih komponenti
      • Prosledjivanje sadržaja sa slot elementom
      • Dinamičke komponente
    • Vue.js mixin
    • Animacija sa Vue.js
      • Back
      • Osnove animacije sa Vue.js
      • Tranzicija pri zameni elemenata sa Vue.js
      • Animacija više elemenata odjednom “transition-group”
    • Rutiranje sa Vue.js
      • Back
      • Osnove rutiranja sa Vue.js
      • Karakteristike i specifičnosti ruta
  • Node.js
    • Back
    • Node osnove
      • Back
      • Uvod u Node.js
      • Node.js – Globalni objekat i Moduli
      • Promenjive okruženja = ENV variable
      • Node.js Buffers
      • Node.js File system
      • Node.js Streams
      • Šta je Socket?
      • Node.js – EventEmitter
      • Kreiranje servera sa Node.js
      • Node starter projekat (TypeScript + Docker)
    • Nest.js
      • Back
      • Uvod u Nest.js
      • Nest.js kontroleri
      • Validacija podataka u NestJS-u korišćenjem “Pipe”
      • Dependency injection u Nest.js
  • WordPress
    • Back
    • Instalacija WordPress-a
    • WordPress hijerarhija i struktura
    • WordPress udice (hooks)
    • WordPress upiti (query)
    • WordPress petlje (loop)
    • WordPress Custom Fields
    • WordPress Custom Post Type
    • WordPress Custom Meta Box
    • WordPress Custom Taxonomy
    • WordPress Shortcode (osnove)
    • WordPress Widget
    • Prevodjenje teme ili plugina
  • Android
    • Back
    • Aktivnost u okviru android operativnog sistema
    • Fragment u okviru androida
    • Konvertovanje XML resursa u View objekat (“Layout Inflating”)
    • Adapter kao veza izmedju podataka i prikaza
      • Back
      • ArrayAdapter (osnovni android adapter)
      • Custom ArrayAdapter u Androidu
      • Adapter za RecyclerView
      • Popunjavanje ViewPager-a koristeći PagerAdapter
    • Kreiranje menija kod android aplikacija
    • Uvod u asinhrone operacije i multithreading Androida
    • Kreiranje custom listenera u Androidu (listener pattern)
    • MVVM arhitektura
      • Back
      • Uvod u MVVM arhitekturu
      • LiveData & MVVM
    • Rad sa SQLite bazom
      • Back
      • Rad sa SQLite bazom u Androidu (bez pomoćnih biblioteka)
      • Rad sa SQLite bazom u Androidu uz pomoć Room bibiloteke
  • Home
  • Tehnologije i alati
    • Instalacija alata za web development
    • Domen i hosting
    • npm & yarn osnove
    • GIT
      • Git osnove i instalacija
      • Git naredbe
      • Git submodul
    • Objektno orjentisano programiranje – OOP
    • JSON (format za razmenu podataka)
    • Binarni sistem
    • Docker: Pokretanje aplikacija svuda
    • Baze podataka
      • Sistemi za upravljanje SQL bazama (DBMS)
      • SQL osnovne naredbe (upiti)
    • Osnove linux-a za web developere
    • Šta je “Dependencies injection”?
    • Šta je SCRUM?
    • Web servisi (osnove)
    • Mrežni protokoli (osnove)
    • Mobilne aplikacije
      • Razvoj mobilnih aplikacija
      • Hibridne mobilne aplikacije
    • Chrome DevTools
  • HTML
    • Uvod u osnove HTML-a
    • Osnovni HTML tagovi
    • HTML tagovi za grupisanje sadržaja
    • Strukturno obeležavanje (Structured Data)
  • CSS
    • CSS selektori
    • Box model
    • Pozicioniranja sadržaja sa CSS-om (osnove)
    • Stilizovanje i pozicioniranje teksta u kontejneru sa CSS-om
    • Animacija
      • Uvod u animaciju sa CSS-om
      • Animacija sa CSS svojstvom “transition”
      • Animacija sa CSS svojstvom “animation”
  • JavaScript
    • Osnove
      • Scope (oblast definisanosti promenjive)
      • Šta je hoisting?
      • Tipovi podataka u JavaScriptu
      • Konverzija tipova u JavaScript-u
      • JavaScript operatori
      • Metode za rad sa nizovima
      • Značenje operatora “this” u JavaScript-u
      • Petlje i iteracije u JavaScript-u
      • JS snippets
        • JS snippets u radu sa DOM-om
        • JS snippets u radu sa nizovima
        • JS snippets razno (tips & tricks)
    • Napredni koncepti
      • Novi JavaScript standardi
        • Pregled novih JS standarda: ES2015, ES2016…
        • let & const
        • Arrow funkcija
        • Podrazumevane vrednosti parametara funkcije
        • Nove metode za rad sa nizovima
        • “Object literal” poboljšanja
        • Eksponencijalni operator **
        • Novi tipovi podataka Map, Set & Symbol
        • Iteratori & Generatori
        • Spread & Rest operator
        • Destruktuiranje u JavaScriptu
      • Šta su JavaScript closure?
      • Sve o događajima u JavaScriptu
        • Dogadjaji u JavaScript-u (JS Events)
        • Pregled ugradjenih dogadjaja u JS
        • Pregled svojstava event objekta
      • Sve o objektima kreiranje, nasledjivanje…
        • Svojstva i metode konstruktorske f-je Object()
        • 1001 način kreiranja objekata u JavaScriptu
        • Prototipsko nasledjivanje
        • Klase u JavaScript-u
      • JavaScript-a i njegovo okruženje
        • Simbioza JavaScripta i njegovog okruženja
        • Pregled objekata ugradjenih u JavaScript
        • Pregled objekata ugradjenih u okruženje (Browser & node) tzv. Web API
      • Modularno programiranje u JavaScript-u
        • Uvod u modularno programiranje
        • Modularno programiranje sa ES5
        • Modularno programiranje – eksterna sintaksa (AMD & CommonJS)
        • Modularno programiranje sa ES6
      • Asinhroni JavaScript
        • Princip rada asinhronog JavaScript-a
        • Cross Domain DATA Request
        • AJAX sa plain JavaScript-om
        • Prikupljanje podataka iz forme sa FormData interfejsom
        • Promise (osnove)
        • “Async/Await” sintaksa za bolje “Promise”
      • (Ne)moguće greške u JavaScript-u
  • Vue.js
    • Šta je Vue.js?
    • Instalacija Vue.js
    • Svojstva Vue instance
    • Pristup svojstvima Vue.js instance
    • Životni ciklus Vue.js instance/komponente
    • HTML interpolacija u okviru Vue.js
    • Direktive
      • Šta su Vue.js direktive
      • Direktiva v-bind:
      • Direktiva v-on:
      • Direktiva v-model
      • Direktiva v-for
      • Direktiva v-if
      • Direktive v-show & v-once & v-cloak
      • Direktive v-text & v-html & v-pre
      • Custom Vue direktive
    • Filtriranje sa Vue.js
    • Vue komponente
      • Šta su Vue.js komponente?
      • Komunikacija izmedju komponenti tip “parent – child”
      • Komunikacija izmedju susednih komponenti
      • Prosledjivanje sadržaja sa slot elementom
      • Dinamičke komponente
    • Vue.js mixin
    • Animacija sa Vue.js
      • Osnove animacije sa Vue.js
      • Tranzicija pri zameni elemenata sa Vue.js
      • Animacija više elemenata odjednom “transition-group”
    • Rutiranje sa Vue.js
      • Osnove rutiranja sa Vue.js
      • Karakteristike i specifičnosti ruta
  • Node.js
    • Node osnove
      • Uvod u Node.js
      • Node.js – Globalni objekat i Moduli
      • Promenjive okruženja = ENV variable
      • Node.js Buffers
      • Node.js File system
      • Node.js Streams
      • Šta je Socket?
      • Node.js – EventEmitter
      • Kreiranje servera sa Node.js
      • Node starter projekat (TypeScript + Docker)
    • Nest.js
      • Uvod u Nest.js
      • Nest.js kontroleri
      • Validacija podataka u NestJS-u korišćenjem “Pipe”
      • Dependency injection u Nest.js
  • WordPress
    • Instalacija WordPress-a
    • WordPress hijerarhija i struktura
    • WordPress udice (hooks)
    • WordPress upiti (query)
    • WordPress petlje (loop)
    • WordPress Custom Fields
    • WordPress Custom Post Type
    • WordPress Custom Meta Box
    • WordPress Custom Taxonomy
    • WordPress Shortcode (osnove)
    • WordPress Widget
    • Prevodjenje teme ili plugina
  • Android
    • Aktivnost u okviru android operativnog sistema
    • Fragment u okviru androida
    • Konvertovanje XML resursa u View objekat (“Layout Inflating”)
    • Adapter kao veza izmedju podataka i prikaza
      • ArrayAdapter (osnovni android adapter)
      • Custom ArrayAdapter u Androidu
      • Adapter za RecyclerView
      • Popunjavanje ViewPager-a koristeći PagerAdapter
    • Kreiranje menija kod android aplikacija
    • Uvod u asinhrone operacije i multithreading Androida
    • Kreiranje custom listenera u Androidu (listener pattern)
    • MVVM arhitektura
      • Uvod u MVVM arhitekturu
      • LiveData & MVVM
    • Rad sa SQLite bazom
      • Rad sa SQLite bazom u Androidu (bez pomoćnih biblioteka)
      • Rad sa SQLite bazom u Androidu uz pomoć Room bibiloteke
WordPress Custom Fields | Web Programiranje

Web Programiranje

Skripte

WordPress Custom Fields

Uvod

slika

slika ×

WordPress Custom fields omogućavaju da krajnji korisnik unese neki specifični podatak a da ne koristi postojeće standardne meta box-ove (naslov posta i sadržaj posta). Custom Fields (srp. posebna polja) su zapravo meta podaci (eng.meta data) ali se nazivaju poljima jer izgledaju kao polja u wordpress administratorskom interfejsu.

Da bi meta-box “Custom Fields” bio dostupan pri editovanju posta neophodno je da u gornjem desnom uglu dok se nalazimo na stranici za editovanje post-a kliknemo na dugme Screen Options i tako otvorimo padajući meni, gde čekiramo opciju Custom Fields.

Custom Fields se sastoji iz dva polja i čini par tzv. key/value. Key bi bio podatak zapisan u polje “Name”, a vrednost koja je upisana u polje “Value”. Nakon što se popune polja “Name” i “Value” treba kliknuti na dugme Add Custom Field. Treba naglasiti da je dozvoljeno submitovati više različitih custom fields-a sa istim key-om. Ukoliko je key prethodno već korišćen onda će se pojaviti u padajućem meniju kada želimo da popunimo sledeći custom fields. Ali ukoliko ne želimo da se vrednost “key” pojavljuje u padajućem meniju za neko sledeće korišćenje onda naziv treba da počne sa underscore _

Baza podataka

Post meta informacije se čuvaju u tabeli “wp_postmeta”. Ta tabela se sastoji iz 4 polja:

  • ‘meta_id’ – A unique id for each entry.
  • ‘post_id’ – The ID of the post for this metadata.
  • ‘meta_key’ – The name of the ‘key’.
  • ‘meta_value’ – The value associated with the key.

Svaki put kad se klikne na “add custom field” podaci se ubace u bazu bez obzira dali će da se koriste ili ne !

Sačuvani podataci je multidimenzionalni niz koji se čuva u promenjivoj $post_meta_cache i izgleda slično ovom kodu:

1
2
3
4
5
6
7
8
9
10
11
12
13
[
postid1 => [
key1 => [ val1, val2, ... ],
key2 => [ val1, val2, ... ],
...
],
postid2 => [
key1 => [ val1, val2, ... ],
key2 => [ val1, val2, ... ],
...
],
...
]

Add post meta()

Ukoliko koristimo standardni custom filds bez nekih specijalnih zahteva onda nam sledeće naredbe neće trebati, ali ako pravimo custom meta-box ova funkcija je neophodna!

1
add_post_meta($post_id, $meta_key, $meta_value, $unique)

Dodaje custom filds nekom postu bilo kog post type-a. Parametri koji se koriste su:

  • $post_id – (integer) (required) The ID of the post to which a custom field should be added.
  • $meta_key – (string) (required) The key of the custom field which should be added.
  • $meta_value – (mixed) (required) The value of the custom field which should be added. If an array is given, it will be serialized into a string.
  • $unique – (boolean) (optional) Whether or not you want the key to stay unique. When set to true, the custom field will not be added if the given key already exists among custom fields of the specified post.
primer

U sledećem primeru se dodaje novo polje ako key već ne postoji ili se radi update ako postoji:

1
2
3
<if ( ! add_post_meta( 7, 'fruit', 'banana', true ) ) {
     update_post_meta ( 7, 'fruit', 'banana' );
}

Update_post_meta()

Ukoliko koristimo standardni custom filds bez nekih specijalnih zahteva onda nam sledeće naredbe neće trebati, ali ako pravimo custom meta-box ova funkcija je neophodna!

1
update_post_meta($post_id, $meta_key, $meta_value, $prev_value)

Ažurira vrednost polja Value. Parametri koji se koriste su:

  • $post_id – (integer) (required) The ID of the post which contains the field you will edit.
  • $meta_key -(string) (required) The key of the custom field you will edit. (this should be raw as opposed to sanitized for database queries)
  • $meta_value – (mixed) (required) The new value of the custom field. A passed array will be serialized into a string.(this should be raw as opposed to sanitized for database queries)
  • $prev_value – (mixed) (optional) The old value of the custom field you wish to change. This is to differentiate between several fields with the same key. If omitted, and there are multiple rows for this post and meta key, all meta values will be updated.
primer br.1

Ukoliko je u nekom postu sa ID=76 za key raspolozenje vrednost ‘Tuzan’ a želimo da ažuriramo vrednost na ‘srećan’.

1
update_post_meta( 76, 'raspolozenje', 'Srecan', 'Tuzan' )

primer br.2

U sledećem primeru koristimo jedan custom field sa parametrima key=’Price’ a value=’ceo broj koji je cena proizvoda u dolarima’. Ukoliko želimo za prozvode čija je cena preko 400, da dodamo novi post meta pod nazivom discount onda ćemo koristiti sledeću custom funkciju:

1
2
3
4
5
6
7
8
9
10
11
function add_discount_meta( $post_id ) {
    $price = get_post_meta($post_id, 'Price', true);
    if(strlen($price) > 0)
    {
        $discount = '0%';
        if(intval(str_replace("$","",$price)) > 400 )
           $discount = '15%';
         update_post_meta( $post_id, 'Discount', $discount );
    }
}
add_action( 'save_post', 'add_discount_meta' );

Nakon što uradimo Update stranice pojaviće se novi custom fild sa key=’Discount’ i Value=15%.

NAPOMENA:
U prethodnom primeru se ne koristi funkcija add_post_meta(). To je zahvaljujući osobini funkcije update_post_meta() koja u slučaju da ne postoji key sa vrednosti koju smo prosledili, sam poziva funkciju add_post_meta().

primer br.3

U sledećem primeru vršimo čuvanje novih polja u custom meta box-u:

1
2
3
4
5
6
7
8
9
10
11
function save_meta_box_data( $post_id ) {
  // Make sure that it is set.
  if ( ! isset( $_POST['myplugin_new_field'] ) ) {
    return;
  }
  // Sanitize user input.
  $my_data = sanitize_text_field( $_POST['myplugin_new_field'] );
  // Update the meta field in the database.
  update_post_meta( $post_id, '_my_meta_value_key', $my_data );
}
add_action( 'save_post', 'save_meta_box_data' );

Delete_post_meta()

1
delete_post_meta($post_id, $meta_key, $meta_value)

Briše sve Custom Fields sa specifičnim key-om ili vrednosti kod specifičnog posta. Parametri koji se koriste su:

  • $post_id – (integer) (required) The ID of the post from which you will delete a field.
  • $meta_key – (string) (required) The key of the field you will delete.
  • $meta_value – (mixed) (optional) The value of the field you will delete. This is used to differentiate between several fields with the same key. If left blank, all fields with the given key will be deleted.

Korišćenje podataka iz baze

Pod korišćenjem podrazumevamo prikupljanje podatka koji su ubačeni u bazu sa submitovanjem “add custom fields”.

Preko niza

Vadjenje podataka iz wp_postmeta tabele je isto kao da uzimamo podatke iz polja multidimenzionalnog niza. Ovaj postupak ću objasniti na sledećem primeru gde je potrebno prikupiti sve podatke iz nekog posta br.256 za key “reading’:

1
$readinglist = $post_meta_cache[256]['reading'];

Dobijamo niz vrednosti koje odgovaraju poljima [val1, val2, …]

the_meta()

Ova funkcija izlistava i štampa sve meta podatke ubačene preko custom fieldsa ipreikazuje ih u vidu unoredered liste:

1
2
3
4
5
<ul class='post-meta'>
   <li><span class='post-meta-key'>Key 1:</span> Value for Key 1</li>
   <li><span class='post-meta-key'>Key 2:</span> Value for Key 2</li>
   <li><span class='post-meta-key'>Key 3:</span> Value for Key 3</li>
</ul>

get_post_meta()

Ova funkcija je dosta fleksibilnija i vraća vrednost samo za odredjeni key.

1
get_post_meta($post_id, $key, $single);

Gde je:

  • $post_id (int) – je ID posta u kome je upisan meta-data u custom fields-u.
    Na ovom mestu koristiti sledeći template tag get_the_ID() da bi dobili dinamički ID u okviru WordPress Loop-a. Takodje u loop-u možemo i koristiti globalnu promenjivu i njen parametra ID $post->ID .
  • $key (string) – je tekst koja je upisana u “key” polje.
  • $single -može biti true ili false.
    • true (boolen) – vraća jednu vrednost kao string
    • false ili ako nije definisano – vraća niz
      Opcija false se koristi u slučaju da je submitovano više različitih custom fields-a sa istim key-om, pa treba da se izlista ceo niz. Ovo je objašnjeno na sledećem primeru kad je uneto više custom filds-a sa nazivom pesme.
      1
      2
      3
      4
      5
      6
      7
      <?php $pesme = get_post_meta($post->ID, 'pesme', false); ?>
        <h3>Ovaj post je pisan dok su se slušale sledeće pesme:</h3>
        <ul>
      <?php foreach($pesme as $song) {
          echo '<li>'.$song.'</li>';
      } ?>
        </ul>
Primeri korišćenja:

Ukoliko želimo da se u postu pojavi samo odredjena custom filds tj samo sa odedjenim key-om onda je neophodno da napišemo IF petlju kao na sledećem primeru:

1
2
3
4
5
6
7
8
9
10
//Provera da li postiji  key pesme
<?php
$pesme = get_post_meta($post->ID, 'pesme', true);
  if ($pesme) { ?>
    Slušali ste: <?php echo $pesme; ?>
  <?php }
//Ako nema pesama popunjenih u custom filds-u
  else { ?>
    Niste slušali nikakvu muziku dok ste pisali post
<?php } ?>

Ili da prikažemo neki link samo ako ima popunjen Custom Fields sa key-om “link”

1
2
3
4
5
6
// Provera dali je popunjeno custom polje link
<?php
   $link=get_post_meta($post->ID, 'facebook', true);
   if( $link != '' ) : ?>
     <a href="<?php echo $link; ?>"> link </a>
<?php endif; ?>

get_post_custom()

Vraća multidimenzionalni niz sa svim custom fields poljima na tom postu ili strani.

1
get_post_custom($post_id)

Gde je $post_id broj posta (integer). Na sledećem primeru vraća u postu koji ima custom fields sa key-om “pesme”

1
2
3
4
5
6
7
<?php
$custom_fields = get_post_custom($post->ID);
$my_custom_field = $custom_fields['pesme'];
foreach ( $my_custom_field as $key => $value ) {
  echo $key . " => " . $value . "<br />";
}
?>

get_post_custom_keys()

Vraća sve ključeve iz custom fields-a korišćene u jednom postu.

get_post_custom_keys($post_id)

get_post_custom_values

Vraća niz sa svim vrednostima odredjenog key-a.

1
get_post_custom_values($key, $post_id)

Gde je:
$key – (string) key za onu vrednost koju tražimo
post_id – opcioni broj (integer) posta ID

1
2
3
4
5
6
<?php
$mykey_values = get_post_custom_values( 'pesme' );
foreach ( $mykey_values as $key => $value ) {
  echo "$key  => $value" <br />;
}
?>

Custom filds kao uslov

Custom fields može biti i uslov za prikazivanje postova u nekom loop-u. Tada se u custom petlji
za WP_Query mogu koristi parametri za Custom Filds:

  • meta_key
  • meta_value
  • meta_value_num
  • meta_compare
  • meta_query

Na sledećem primeru se prikazuju samo postovi koji imaju korišćen key “pesme”

1
2
3
4
5
6
7
<?php $query = new WP_Query( array( 'meta_key' => 'pesme' ) );
if($query->have_posts()) :
   while($query->have_posts()) :
    $query->the_post()
      the_content()
   endwhile
endif?>

Podelite:

Tags: Custom fields, WordPress, wp_postmeta

Ostavite komentar

Click here to cancel reply.

Sadržaj strane:
  • 1 Uvod
  • 2 Baza podataka
  • 3 Add post meta()
  • 4 Update_post_meta()
  • 5 Delete_post_meta()
  • 6 Korišćenje podataka iz baze
    • 6.1 Preko niza
    • 6.2 the_meta()
    • 6.3 get_post_meta()
    • 6.4 get_post_custom()
    • 6.5 get_post_custom_keys()
    • 6.6 get_post_custom_values
  • 7 Custom filds kao uslov
Pratite nas:
Budite obavešteni o novim člancima!

Pratite nas
Pretražite sajt
Tags
AMD Android animacija animation arrow function baza podataka Browserify class CommonJS CSS Docker Emmet ES6 ES2015 event event loop every() Git Grunt Heap HTML javascript let map modularno programiranje MySql nasledjivanje Nest.js node.js npm Object.create() PHP Storm POEdit Queue SASS snippets sql SQLite Stack transition Vue Vue.js Webpack Web tehnologije WordPress