динамический плагин mixitup в WordPress

Я пытаюсь создать свою собственную тему в WordPress. Я конвертировал PSD-файл в HTML, и теперь я хочу сделать его динамичным с WordPress, я использовал плагин mix it up, поскольку вы знаете, что это не плагин WordPress, поэтому я попытался сделать его динамичным сам, я использовал этот учебник, который предоставляет коды и видео для этой проблемы.
как вы можете видеть на картинке, она должна показывать мою категорию, но показывать «массив», и я не могу найти почему?

введите описание изображения здесь

вот мой код
сначала я создаю тип записи с именем book с таксономией с именем books_category

function p2p2_register_book(){
$labels = array(
'name'               => _x( 'کتابخانه', 'books'),
'singular_name'      => _x( 'کتاب', 'book' ),
'add_new'            => _x( 'افزودن کتاب', '' ),
'add_new_item'       => __( 'افزودن کتاب جدید' ),
'edit_item'          => __( 'ویرایش کتاب' ),
'new_item'           => __( 'کتاب جدید' ),
'all_items'          => __( 'همه کتاب ها' ),
'search_items'       => __( 'جست و جو کتاب' ),
'not_found'          => _( 'کتاب یافت نشد' ),
'not_found_in_trash' => __( 'کتاب در زباله دان یافت نشد' ),
'parent_item_colon'  => '',
'menu_name'          => 'کتابخانه'
);
$args=array(
'labels'             => $labels,
'public'             => true,
'publicly_queryable' => true,
'show_ui'            => true,
'show_in_menu'       => true,
'query_var'          => true,
'menu_position'      => 2,
'rewrite'            => array( 'slug' => 'book' ),
'capability_type'    => 'page',
'has_archive'        => true,
// 'hierarchical'       => false,
'supports'           => array( 'title', 'editor', 'thumbnail', 'comments' ,'custom-fields'),
// 'taxonomies'  => array( 'Books_category' ),

);
register_post_type('Book',$args);

}

add_action('init', 'p2p2_register_book');

// ============================== Adding post toxonomy to library post ================
function wp_library_post_taxonomy() {
register_taxonomy(
'books_category',  //The name of the taxonomy. Name should be in slug form (must not contain capital letters or spaces).
'book',                  //post type name
array(
'hierarchical'          => true,
'label'                         => 'book Category',  //Display name
'query_var'             => true,
'show_admin_column'             => true,
'rewrite'                       => array(
'slug'                  => 'books_category', // This controls the base slug that will display before each term
'with_front'    => true // Don't display the category base before
)
)
);
}
add_action( 'init', 'wp_library_post_taxonomy');
include_once( 'mixitup-plug.php' );
add_theme_support('post_thumbnails');
add_image_size('Books_small_image',150,200,true);

затем, как говорилось в учебнике, я добавил этот код, чтобы сделать его динамичным

<?php
function books_shortcode($atts){
extract( shortcode_atts( array(
'category' => ''
), $atts, '' ));$q= new WP_Query(
array('posts_per_page'=> 30, 'post_type' => 'Book')
);

//library taxonomy query

global $paged;
global $post;
$args = array(
'post_type' => 'Book',
'paged' => $paged,
' posts_per_page' => -1,
);

$Books = new WP_Query($args);
if(is_array($Books->posts) && !empty($Books->posts)) {

foreach($Books->posts as $Books_post) {

$Books_taxs = wp_get_post_terms($Books_post->ID, 'Books_category', array("fields" => "all"));
if(is_array($Books_taxs) && !empty($Books_taxs)) {
foreach($Books_taxs as $Books_tax) {
$Books_taxs[$Books_tax->slug] = $Books_tax->name;

}

}
}
}
?>

<!--Category Filter-->

<div class="filter-book">
<ul>
<li class="filter active" data-filter="all">همه</li>
<?php foreach($Books_taxs as $Books_tax_slug => $Books_tax_name): ?><li class="filter" data-filter=".<?php echo $Books_tax_slug; ?>"><?php echo $Books_tax_name; ?></li>

<?php endforeach; ?>
</ul></div>
<!--End-->

<?php

$list = '<div class="library-item">';
while($q->have_posts()) : $q->the_post();
$idd = get_the_ID();
$small_image_url=wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'Books_small_image');
//Get Texanmy class
$item_classes = '';
$item_cats = get_the_terms($post->ID, 'Books_category');
if($item_cats):
foreach($item_cats as $item_cat) {
$item_classes .= $item_cat->slug . ' ';
}
endif;

$single_link =
$list .= '

<div class="mix single-library cycology '.$item_classes.'">
<div>
<img src="'.$small_image_url[0].'">
<p class="text-center">کتاب جیبی موفقیت یک</p>
</div>

</div><div class="mix '.$item_classes.'" >'.get_the_content().'</div>
';
endwhile;
$list.= '</div>';
wp_reset_query();
return $list;
}
add_shortcode('Books', 'Books_shortcode');
?>

должно быть какая-то проблема с этой частью моего кода, потому что эта часть показывает категорию

<div class="filter-book">
<ul>
<li class="filter active" data-filter="all">همه</li>
<?php foreach($Books_taxs as $Books_tax_slug => $Books_tax_name): ?><li class="filter" data-filter=".<?php echo $Books_tax_slug; ?>"><?php echo $Books_tax_name; ?></li>

<?php endforeach; ?>
</ul></div>

0

Решение

Пожалуйста, проверьте, что вы использовали функцию массива эха

<li class="filter" data-filter=".<?php echo $Books_tax_slug; ?>"><?php echo $Books_tax_name; ?></li>

Вы можете проверить это

<?php# Dynamic Portfolio With Shortcode

function portfolio_shortcode($atts){
extract( shortcode_atts( array(
'category' => ''
), $atts, '' ) );

$q = new WP_Query(
array('posts_per_page' => 50, 'post_type' => 'portfolios')
);//Portfolio taxanomy query
global $paged;
global $post;
$args = array(
'post_type' => 'portfolios',
'paged' => $paged,
'posts_per_page' => -1,
);

$portfolio = new WP_Query($args);
if(is_array($portfolio->posts) && !empty($portfolio->posts)) {
foreach($portfolio->posts as $gallery_post) {
$post_taxs = wp_get_post_terms($gallery_post->ID, 'portfolio_category', array("fields" => "all"));
if(is_array($post_taxs) && !empty($post_taxs)) {
foreach($post_taxs as $post_tax) {
$portfolio_taxs[$post_tax->slug] = $post_tax->name;
}
}
}
}
?>

<!--Category Filter-->

<div class="portfolio_button_area fix">
<button class="filter portfolio_button active" data-filter="all">Show All</button>
<?php foreach($portfolio_taxs as $portfolio_tax_slug => $portfolio_tax_name): ?>
<button class="filter portfolio_button" data-filter=".<?php echo $portfolio_tax_slug; ?>"><?php echo $portfolio_tax_name; ?></button>
<?php endforeach; ?>
</div>
<!--End--><?php

$list = '<div id="Container">';
while($q->have_posts()) : $q->the_post();
$idd = get_the_ID();
//Get Texanmy class
$item_classes = '';
$item_cats = get_the_terms($post->ID, 'portfolio_category');
if($item_cats):
foreach($item_cats as $item_cat) {
$item_classes .= $item_cat->slug . ' ';
}
endif;

$single_link =
$list .= '

<div class="mix '.$item_classes.'" >'.get_the_content().'</div>
';
endwhile;
$list.= '</div>';
wp_reset_query();
return $list;
}
add_shortcode('portfolio', 'portfolio_shortcode');?>

ссылка на код и многое другое http://www.wp-tutorials.com/how-to-dynamic-mixitup-or-isotope-in-wordpress-step-by-step

0

Другие решения

Я нахожу ответ, это проблема слова. Я пользуюсь Книгой, но вызываю книгу, чтобы она не работала.

0

По вопросам рекламы [email protected]