Como ya sabéis me encanta usar Pods Framework para WordPress, pero siempre gasto demasiado tiempo volviendo a buscar como hacer las queries, mostrar ciertos campos, … Por este motivo, voy a intentar crearme una guía con las porciones de código que más uso en mis proyectos, y así poder usarla como guía de consulta en el futuro. Con un poco de suerte, quizás también sea útil para ti.
Tipos de Pods
Yo suelo usar dos: Custom Post Type (ampliar los post habituales de Worpdress) o los Advanced Content Type (tablas nuevas que no extienden de ningún elemento de WordPress)
Según usemos uno cambiará ligeramente las queries de busqueda:
Custom Post Type
$params = array( 'where' => 't.post_status="Publish"', 'orderby' => 'position.meta_value+0 ASC', 'limit' => -1 // -1 = no limit in items per page ); $mypod = pods( 'podsTypeName', $params );
$params = array( // show it if wordpress status is publish & it belongs to current type 'where' => 't.post_status="Publish" AND podTypeName.field_id="'.$typeId.'"' );
Advanced Content Type
$params = array( 'where' => 'active=1', 'orderby' => 'position+0 ASC', 'limit' => -1 // -1 = no limit in items per page ); $mypod = pods( 'podsTypeName', $params );
Loop
while ( $mypod->fetch() ) { echo $mypod->data->row['ID']; echo $mypod->display('title'); echo wpautop($mypod->display('content')); // Changes double line-breaks in the text into HTML paragraphs (<p>...</p>) // multiselect field: echo $mypod->get_field('categories'); $array = $mypod->field('categories.category_id'); foreach ($array as &$item) { echo $item; } // Image $portfolio_image = $portfolio->get_field('image'); echo $portfolio_image[0]['guid']; }
// Total records in the loop $openingData->total();
Single Records
$slug = pods_v( 'last', 'url' ); // antes se usaba: $slug = pods_url_variable('last'); $params = array( 'where' => 'post_name = "'.$slug.'"' ); $mypod = pods( 'podsTypeName', $params );
Poco a poco iré ampliando estas porciones de código.
Espero que os sea de ayuda
Campos de fecha
$datetime = explode(" ", $mypod->display( 'start_date' )); $date = explode("-", $datetime [0]); $time = explode(":", $datetime [1]); echo date(get_option('date_format'), mktime($time[0], $time[1], 0, $date[1], $date[0], $date[2]));