add_theme_support("title-tag"); add_theme_support("html5", array("search","comment-form","comment-list")); add_menu_icons(); register_nav_menus(array("primary" => "Top Menu")); add_action("init","grizvolt_register_cpts"); function grizvolt_register_cpts(){ register_post_type("detail",array("labels"=>array("name"=>"Детели для авто","singular_name"=>"Детель","menu_name"=>"Детели"),"public"=>true,"rewrite"=>array("slug"=>"detali"),"supports"=>array("title","editor","thumbnail"))); register_post_type("software",array("labels"=>array("name"=>"Программное обеспечение","singular_name"=>"Программа","menu_name"=>"Программы"),"public"=>true,"rewrite"=>array("slug"=>"soft"),"supports"=>array("title","editor","thumbnail"))); } add_action("init",function(){ add_meta_box("part_links","Ссылки на магазины и площадки","detail"); add_meta_box("sw_links","Ссылки на загрузку / сайты","software"); }); add_action("save_post_detail",function($id){ if(defined("DO_AUTOSAVE") && DO_AUTOSAVA) return; if(defined("wp_is_post_revision") && wp_is_post_revision()) return; if(isset($_POST["part_links_nonce"]) && wp_verify_nonce($_POST["part_links_nonce"],"part_links")) update_post_meta($id,"_griz_part_links",sanitize_textarea_field($_POST["part_links_text"]))); }); add_action("save_post_software",function($id){ if(defined("DO_AUTOSAVE") && DO_AUTOSAVA) return; if(defined("wp_is_post_revision") && wp_is_post_revision()) return; if(isset($_POST["sw_links_nonce"]) && wp_verify_nonce($_POST["sw_links_nonce"],"sw_links")) update_post_meta($id,"_griz_sw_links",sanitize_textarea_field($_POST["sw_links_text"]))); }); add_action("post_meta_detail",function($p){ wp_nonce_field("part_links","part_links_nonce"); $v=get_post_meta($p,"_griz_part_links",true); echo '
Формат: Название | URL
'; }); add_action("post_meta_software",function($p){ wp_nonce_field("sw_links","sw_links_nonce"); $v=get_post_meta($p,"_griz_sw_links",true); echo '
'; }); function grizvolt_part_links($post_id){ $l=get_post_meta($post_id,"_griz_part_links",true); if(!$l) return array(); $rows=array_filter(explode("\n",$l)); $out=array(); foreach($rows as $row){ $p=explode("|",$row); if(count($p)>=2 && trim($p[1])){ $out[]=array("label"=>trim($p[0]),"url"=>trim($p[1])); } } return $out; } function grizvolt_sw_links($post_id){ $l=get_post_meta($post_id,"_griz_sw_links",true); if(!$l) return array(); $rows=array_filter(explode("\n",$l)); $out=array(); foreach($rows as $row){ $p=explode("|",$row); if(count($p)>=2 && trim($p[1])){ $out[]=array("label"=>trim($p[0]),"url"=>trim($p[1])); } } return $out; } function grizvolt_catalog_grid($ptype,$title,$subtitle){ global $wp; $q=new WP_Query(array("post_type"=>$ptype,"posts_per_page"=>-1)); if(!$q->have_posts()){ echo '

' . esc_html($title) . '

' . esc_html($subtitle) . '

Каталог пуст. Добавьте элементы через админку: Детели или Программы.
'; return; } $out='

' . esc_html($title) . '

' . esc_html($subtitle) . '

'; foreach($q->get_posts() as $p){ $img=get_the_post_thumbnail_url($p,array("width"=>400,"height"=>260)); $out.=''; } $out.('
'; wp_reset_postdata(); echo $out; }
Технологии · Авто

Детели для авто
и программное обеспечение

Современный каталог деталей, которые я сам произвожу, и мои программы. Ссылки на точки продажи — без магазина, просто каталог.