<?php
get_header();
/*
Template Name: Page Builder
*/
?>
<?php if ( have_rows( 'builder_layout' ) ) : ?>
<?php while ( have_rows( 'builder_layout' ) ) : the_row(); ?>
<?php $layout = get_row_layout(); ?>
<?php get_template_part( "template-parts/builder-blocks/$layout" ); ?>
<?php endwhile; ?>
<?php else: ?>
<h2><?php _e('No layout found parent', 'ajat') ?></h2>
<?php endif; ?>
<?php get_footer(); ?>
<section class="section">
<div class="container">
<div class="row">
<div class="col-md-6">
<div class="content">
<?php if ( have_rows( 'column_1_page_layout' ) ) : ?>
<?php while ( have_rows( 'column_1_page_layout' ) ) : the_row(); ?>
<?php $layout = get_row_layout(); ?>
<?php get_template_part( "template-parts/acf-blocks/$layout" ); ?>
<?php endwhile; ?>
<?php else: ?>
<h2><?php _e('No layout found', 'ajat') ?></h2>
<?php endif; ?>
</div>
</div>
<div class="col-md-6">
<div class="content">
<?php if ( have_rows( 'column_2_page_layout' ) ) : ?>
<?php while ( have_rows( 'column_2_page_layout' ) ) : the_row(); ?>
<?php $layout = get_row_layout(); ?>
<?php get_template_part( "template-parts/acf-blocks/$layout" ); ?>
<?php endwhile; ?>
<?php else: ?>
<h2><?php _e('No layout found', 'ajat') ?></h2>
<?php endif; ?>
</div>
</div>
</div>
</div>
</section>
/**
* Display native post thumbnail or a fallback image.
*
* @param string $size
* @param string $attr
*/
function the_post_thumbnail_fallback( $size = 'post-thumbnail', $attr = '' )
{
if ( has_post_thumbnail() ) :
echo get_the_post_thumbnail( null, $size, $attr );
else :
$post_thumbnail_id = get_option( 'default_post_thumbnail' );
$html = wp_get_attachment_image( $post_thumbnail_id, $size, false, $attr );
/**
* Filters the post thumbnail HTML.
*
* @param string $html The post thumbnail HTML.
* @param int $post_id The post ID.
* @param string $post_thumbnail_id The post thumbnail ID.
* @param string|array $size The post thumbnail size. Image size or array of width and height values (in that order). Default 'post-thumbnail'.
* @param string $attr Query string of attributes.
* @since 2.9.0
*/
echo apply_filters( 'post_thumbnail_html', $html, null, $post_thumbnail_id, $size, $attr );
endif;
}
<header class="post-header">
<h1 class="post-title">
<?php the_title(); ?>
</h1>
<div class="post-thumbnail">
<?php the_post_thumbnail_fallback(); ?>
</div>
</header>
$post_thumbnail_id = get_option( 'default_post_thumbnail' );
<?php
global $wpdb;
// Количество всех фото на сайте
$imagescount = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures") );
// Количество всех галерей на сайте
$galleriescount = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery") );
// Количество изображений в открытой галерее
$total = $displayed_gallery->get_entity_count();
?>
<?php echo $total; ?>
мне нужно сделать функцию личного кабинета для каждого пользователя
которые смогут регистрироваться сами по номеру телефона или по электронной почте.
В личном кабинете нужны функции подачи заявок на подключении каких-либо услуг/ Должен быть какой-то список этих услуг со стоимостями и описанием. И чтобы потом эти заявки приходили определенному человеку на электронную почту или еще куда-нибудь.
Так же в личном кабинете должны отображаться подключенные услуги, которые будут туда добавляться администратором.
wp_nav_menu([
'theme_location' => 'top_left',
'container'=> false,
'items_wrap' => '<ul class="nav navbar-nav %2$s">%3$s</ul>',
'menu_class' => '',
'ul_class' => 'navbar-nav',
'ul_child_class' => 'dropdown-menu',
'li_class' => 'nav-item',
'li_child_class' => 'nav-item',
'a_class' => 'nav-link',
'a_child_class' => 'nav-link',
]);
## Добавление стилей для стандартного меню
add_filter('nav_menu_css_class', 'add_menu_list_item_class', 1, 3);
function add_menu_list_item_class($classes, $item, $args) {
if (property_exists($args, 'li_class') && !$item->menu_item_parent) {
$classes[] = $args->li_class;
}
if (property_exists($args, 'li_child_class') && $item->menu_item_parent) {
$classes[] = $args->li_child_class;
}
return $classes;
}
add_filter( 'nav_menu_link_attributes', 'add_menu_link_class', 1, 3 );
function add_menu_link_class( $atts, $item, $args ) {
if ( strpos( $atts['href'], home_url() ) === false ) {
$atts['target'] = '_blank';
}
if (property_exists($args, 'a_class') && !$item->menu_item_parent) {
$atts['class'] = $args->a_class;
}
if (property_exists($args, 'a_child_class') && $item->menu_item_parent) {
$atts['class'] = $args->a_child_class;
}
return $atts;
}
add_filter( 'nav_menu_submenu_css_class', 'my_nav_menu_submenu_css_class', 1, 3);
function my_nav_menu_submenu_css_class($classes, $args, $depth) {
if (property_exists($args, 'ul_child_class')) {
$classes[] = $args->ul_child_class;
}
return $classes;
}
$args = array(
'taxonomy' => 'category',
'hide_empty' => true, // не пустые
'exclude' => [1], // исключаем Без рубрики
);
$terms = get_terms( $args );
if ( $terms ) {
foreach( $terms as $term ) {
$args = array(
'posts_per_page' => 3, // по три поста
'post_type' => 'post', // тип записи "посты"
'post_status' => 'publish', // опубликованные посты
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => $term->term_id
)
)
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
echo '<h2>' . $term->name . '</h2>';
while ( $query->have_posts() ) {
$query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
} else {
// Постов не найдено
}
}
}
el: '.slidernav'
el: this.querySelector('.slidernav')
add_filter('wpcf7_autop_or_not', '__return_false');
<div class="form-group">[text* contact-name id:contact-name class:form-control class:input-text]<label for="contact-name">Name</label></div>
<div class="form-group">[email* contact-email id:contact-email class:form-control class:input-text]<label for="contact-email">Email</label></div>
<div class="form-group">[textarea contact-message x2 id:contact-message class:form-control class:input-text]<label for="contact-message">Message</label></div>
<div class="form-submit">[submit class:gradient-btn class:btn-submit "Send Message"]</div>
.contact-form-wrapper .wpcf7 .form-group > label {
position: absolute;
top: 20px;
left: 0;
cursor: text;
pointer-events: none;
margin-bottom: 0;
-webkit-transition: all 0.25s;
transition: all 0.25s;
}
.contact-form-wrapper .wpcf7 .form-group.active > label {
top: -5px;
left: 2px;
font-size: 16px;
cursor: default;
}