Základy PHP
Výpis dát
<?php tu bude php ?>
/* v css definovat pre lepšie zobrazenie : pre{background-color:white; padding:5px 5px} */
echo '<pre>';
print_r( );
echo '</pre>';
skratene: echo '<pre>',print_r($hero,1),'</pre>'; // skratene
//vlastna funkcia
function printr($data) {
echo "<pre>";
print_r($data);
echo "</pre>";
}
var_dump()
include
require
require_one
global $premenna // global ak chcem pouzit vo funkcii
define( 'ADRESA_CHILD_TEMY_URI', get_template_directory_URI() . '-child' ); // definuje adresu child temy
define( 'ADRESA_CHILD_TEMY', get_template_directory() . '-child' ); // definuje adresu child temy
plugin_dir_url( __FILE__ ) // cesta k pluginu
$pre =
$pre .= prida ako string
$pre [] = prida ako pole
__FILE__ - cesta k suboru
__DIR__ / dirname() - cesta k zlozke
$_SERVER['HTTP_HOST'] - stranka.sk
$_SERVER['REQUEST_URI'] - /blog
basename($_SERVER['SCRIPT_NAME'], '.php') - nazov suboru bez .php
glob('*.php') - vyberie vsetky subory s priponou .php
isset - ak existuje
empty - ak je prazdne
/********************** WHILE CYKLUS */
<?php while (have_posts( )) : the_post() ?>
nieco co sa vypisovat pokial plati podmienka
<?php endwhile ?>
/********************** bezpecne pisanie a podmienka if*/
if ( ! function_exists( 'log_me' ) ) :
// funkcia s nazvom log_me
endif;
PODMIENKY
if(current_user_can( 'administrator' )){ // admin mod
}
global $current_user;
if ( $current_user->user_login == 'Meno pouzivatela' ){
}
(is_single() )
(is_page() )
( is_page('kontakt')
is_front_page()
have_posts()
is_admin()
// zisti usersdata
print_r( get_current_user_id() );
print_r(get_userdata( get_current_user_id() ) );
print_r(get_userdata( get_current_user_id() )->allcaps);
/* QUERY MONITOR UKAZUJE NA KAZDEJ STRANKE PODMIENKY a QUERY
HOOKS
/* HOOKS, ACTIONS, FILTERS
hooks - funkcie ktoré možeme odchytit
add_filter - odchytenie a uprava funkcie
add_action - pridanie funkcie
*/
add_action( 'wp_enqueue_scripts', 'add_theme_scripts' );
function add_theme_scripts (){
wp_enqueue_script( 'id_scriptu', ADRESA_CHILD_TEMY_URI . '/js/script.js', array(), '', true );
wp_enqueue_style( 'id_stylu', ADRESA_TEMY_URI . '/css/style.css' ) ;
}
add_action( 'wp_footer', 'pridat_funkciu_do_footeru' ); // pridá do footeru
add_action( 'wp_head', 'pridaj_funkciu_do_headeru' ); // pridá do headeru
add_action( 'admin_head', 'pridaj_do_admin_header'); // pridá iba do headeru v administračnom rozhraní
add_action( 'admin_footer', 'pridaj_do_admin_foteru'); // pridá do footeru v administračnom rozhraní
add_action( 'print_head_scripts', print_head_scripts()
//Vytlačí front skriptov v hlavičke HTML na stránkach správcu.
ŠTRUKTÚRA STRÁNOK
index.php – zakladna stranka z ktorej sa nacitava vsetko ak nie je urcená iná stránka
page.php – stránka pre vsetky pages
page-blog.php – stránka pre konkrétnu stránku blog
single.php – stránka pre posty/ prispevky
404.php
comments.php
- var_dump(in_the_loop()); // zisti ci sme v loope, ak sme v loope mame pristup k funkciam ako:
- get_post()
- the_content()
- the_title()
- get_the_ID()
- get_the_author()
- echo the_ID
- echo post_class
- echo the_time
global $pagenow, $post;
if( $pagenow != 'edit.php') return; // Exit
if( get_post_type($post->ID) != 'shop_order' ) return; // Exit
ĎALŠIE UŽITOČNÉ SCRIPTY
// ocistenie od formatovania
$skuska = wc_get_stock_html( $product ); // stav dostupnosti produktu
wp_strip_all_tags( $skuska); // ocisti od formatovania
//escepovanie a uprava inputov
esc_html() - iba zmení označenie HTML na zakódovaný viditeľný text, takže ho prehliadač nevykreslí ako označenie. Sémanticky je to escape , takže je určený na to, aby bol výstup na stránku bezpečný.
sanitize_text_field() - v skutočnosti odstráni všetky značky HTML, ako aj nadbytočné medzery. Nenecháva nič iné ako obyčajný text.
//vybratie cisla zo stringu
$str = 'In My Cart : 11 items';
$int = (int) filter_var($str, FILTER_SANITIZE_NUMBER_INT);
//meta data ktore mozem pridavat a upravovat
// ACF Display Custom Fields - ak nefunguju
add_filter('acf/settings/remove_wp_meta_box', '__return_false');
get_post_meta( get_the_ID() );
get_post_meta($post_id, 'pocet_videni', true);
get_post_field( 'pocet_videni', $post_id, true);
add_post_meta();
delete_post_meta();
update_post_meta();
get_post_field('adventure_time');
get_post_field('adventure_time', true);
global $post;
global $wp_query; // global ak chcem pouzit vo funkcii
wc_get_product()
$wp_db->
$wpdb->get_var
wc_get_product( $id)- vytiahne produkt podla ID
wc_get_product( $id)->get_name() - vytiahne meno produktu podla ID
// over ci existuje a je publikovaný post s týmto ID
get_post_status( $produkt_id ) === 'publish'