Wordpress 滑块首页拆分布局中的自定义帖子类型
在WordPress中,我从api中提取数据,并使用自定义post类型在owl滑块中显示。出于某种原因,我的代码正在破坏滑块布局Wordpress 滑块首页拆分布局中的自定义帖子类型,wordpress,custom-post-type,Wordpress,Custom Post Type,在WordPress中,我从api中提取数据,并使用自定义post类型在owl滑块中显示。出于某种原因,我的代码正在破坏滑块布局 <form> <section class="s-raking"> <div class="container"> <?php $terms = get_terms( array( 'taxonomy' => 'ranking',
<form>
<section class="s-raking">
<div class="container">
<?php
$terms = get_terms( array(
'taxonomy' => 'ranking',
'hide_empty' => false,
) );
?>
<h2 class="title-bar" data-ranking="<?php echo $terms[0]->slug; ?>">Ranking <span><?php echo $terms[0]->name; ?></span>
<div class="ranking-nav-btn">
<div class="customPrevBtn4"><i class="fa fa-angle-left"></i></div>
<div class="customNextBtn4"><i class="fa fa-angle-right"></i></div>
</div>
</h2>
<div class="row no-gutters">
<div class="col-lg-8">
<div class="slider-ranking owl-carousel">
<?php
foreach($terms as $term) { ?>
<div class="rankig-one" style='background:url(<?php the_field('bg_image', 'term_' .$term->term_id ); ?>) no-repeat scroll center center; background-size: cover;' data-title="<?php echo $term->slug; ?>">
<h3><?php the_field('title_normal', 'term_' .$term->term_id ); ?> <?php if(get_field('title_strong', 'term_' .$term->term_id )) { ?><span><?php the_field('title_strong', 'term_' .$term->term_id ); ?></span><?php } ?></h3>
<ul class="ajax-content2">
<?php
$posts = get_field('top_players', 'term_' .$term->term_id );
if( $posts ): ?>
<ul>
<?php $i = '1'; foreach( $posts as $post): ?>
<?php setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php echo $i; ?> <?php the_title(); ?></a></li>
<?php $i++; endforeach; ?>
</ul>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
</div>
<?php } ?>
</ul><! - - end ajax-content2-->
</div>
</div>
<div class="col-lg-4">
<div class="filters-ranking">
<div class="filters-search">
<input type="text" class="quicksearch" placeholder="Encuentra a un jugador" />
<i class="fa fa-search"></i>
</div>
<div class="tabs d-flex">
<span class="tab">Ranking</span>
<span class="tab">Selecciona tu estado</span>
</div>
<div class="tab_content">
<div class="tab_item">
<div class="filters-bar">
<select class="filters-select" name="position" onchange="this.form.submit()">
<?php
$field_key = "field_5c80e92663dd1";
$field = get_field_object($field_key);
foreach ( $field['choices'] as $k => $v ) {
echo '<option value="' . $k . '">' . $v . '</option>';
}
?>
</select>
</div>
<div class="players-results" id="ajax-content"></div>
</div>
<div class="tab_item">
<div class="players-state">
<ul>
<?php
$field_key = "field_5cebb7e973218";
$field = get_field_object($field_key);
foreach ( $field['choices'] as $k => $v ) {
echo '<li data-value="' . $k . '">' . $v . '</li>';
}
?>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<?php
if(isset($_GET["position"])){
$position=$_GET["position"];
// echo "select position is => ".$position;
}
?>
</form>
排名
埃斯塔多酒店
主页的链接是
所讨论的滑块是:
在inspector工具中仔细检查时,我注意到“li”信息在一秒钟后消失:
编辑:
多亏了WordPress开发者社区的Mehar,我才更接近这个问题。我现在将数据持久化到页面上,但现在我的滑块项目都显示2或3个项目,即使owl旋转木马设置为项目:1。我现在也丢失了滑块右侧的搜索框,如上图所示。我将把更新后的代码放在下面
Functions.php
add_action( 'wp_ajax_nopriv_players', 'players_lpm' );
add_action( 'wp_ajax_players', 'players_lpm' );
function players_lpm() {
$position = $_POST['position'];
$ranking = $_POST['ranking'];
$search = $_POST['search'];
$state = $_POST['state'];
$args = array(
'post_type' => 'players_lpm',
'posts_per_page' => -1,
's' => $search,
'tax_query' => array(
array(
'taxonomy' => 'ranking',
'field' => 'slug',
'terms' => $ranking
)
),
'meta_query' => array(
array( 'key' => 'position', 'value' => $position, 'compare' => 'LIKE' ),
array( 'key' => 'state', 'value' => $state, 'compare' => 'LIKE' ),
'relation' => 'AND'
)
);
$the_query = new WP_Query( $args ); $i2 = '1';
echo '<ul>';
while ($the_query -> have_posts()) : $the_query -> the_post();
echo '<li><a href="'.get_permalink().'"><span>'.$i2.'</span>'.get_the_title().'</a></li>';
$i2++; endwhile; wp_reset_postdata();
echo '</ul>';
die();
}
add_action( 'wp_ajax_nopriv_playersmain', 'playersmain' );
add_action( 'wp_ajax_playersmain', 'playersmain' );
function playersmain() {
$position = $_POST['position'];
$ranking = $_POST['ranking'];
$search = $_POST['search'];
$state = $_POST['state'];
$args = array(
'post_type' => 'players_lpm',
'posts_per_page' => 10,
's' => $search,
'tax_query' => array(
array(
'taxonomy' => 'ranking',
'field' => 'slug',
'terms' => $ranking
)
),
'meta_query' => array(
array( 'key' => 'position', 'value' => $position, 'compare' => 'LIKE' ),
array( 'key' => 'state', 'value' => $state, 'compare' => 'LIKE' ),
'relation' => 'AND'
)
);
$the_query = new WP_Query( $args ); $i2 = '1';
while ($the_query -> have_posts()) : $the_query -> the_post();
echo '<li><a href="'.get_permalink().'"><span>'.$i2.'</span>'.get_the_title().'</a></li>';
$i2++; endwhile; wp_reset_postdata();
die();
}
add_action('wp_ajax_nopriv_players','players_lpm');
添加动作('wp_ajax_players','players_lpm');
函数播放器{
$position=$_POST['position'];
$ranking=$_POST['ranking'];
$search=$_POST['search'];
$state=$_POST['state'];
$args=数组(
“post_type”=>“players_lpm”,
“每页帖子数”=>-1,
's'=>$search,
“tax_query”=>数组(
排列(
“分类法”=>“排名”,
'字段'=>'段塞',
“术语”=>$ranking
)
),
“元查询”=>数组(
数组('key'=>'position','value'=>$position,'compare'=>'LIKE'),
数组('key'=>'state','value'=>$state,'compare'=>'LIKE'),
'关系'=>'和'
)
);
$thew_query=newwp_query($args);$i2='1';
回声“”;
while($the_query->have_posts()):$the_query->the_post();
回音“”;
$i2++;endwhile;wp_reset_postdata();
回声“
”;
模具();
}
添加动作('wp_ajax_nopriv_playersmain','playersmain');
添加动作(“wp_ajax_playersmain”、“playersmain”);
函数playersmain(){
$position=$_POST['position'];
$ranking=$_POST['ranking'];
$search=$_POST['search'];
$state=$_POST['state'];
$args=数组(
“post_type”=>“players_lpm”,
“每页帖子数”=>10,
's'=>$search,
“tax_query”=>数组(
排列(
“分类法”=>“排名”,
'字段'=>'段塞',
“术语”=>$ranking
)
),
“元查询”=>数组(
数组('key'=>'position','value'=>$position,'compare'=>'LIKE'),
数组('key'=>'state','value'=>$state,'compare'=>'LIKE'),
'关系'=>'和'
)
);
$thew_query=newwp_query($args);$i2='1';
while($the_query->have_posts()):$the_query->the_post();
回音“”;
$i2++;endwhile;wp_reset_postdata();
模具();
}
Script.js
var owl8 = $( ".slider-ranking" );
owl8.owlCarousel({
items: 1,
loop: true,
nav:true,
animateOut: 'fadeOut',
navText:['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'],
dots: false,
//autoplay:true,
autoplayTimeout:4000,
autoplayHoverPause:true
});
$('.customNextBtn4').click(function() {
owl8.trigger('next.owl.carousel', [300]);
});
$('.customPrevBtn4').click(function() {
owl8.trigger('prev.owl.carousel', [300]);
});
owl8.on('changed.owl.carousel', function(e) {
var current = e.item.index;
var currSl2 = $(e.target).find(".owl-item").eq(current).find(".rankig-one h3").html();
$(".s-raking .title-bar span").html(currSl2);
var currSl3 = $(e.target).find(".owl-item").eq(current).find(".rankig-one").attr('data-title');
$(".s-raking .title-bar").attr('data-ranking', currSl3);
ranking();
});
/*for first load*/
function ranking() {
$(".filters-ranking .players-results").mCustomScrollbar("destroy");
var position = $(".filters-select option:selected").val();
var ranking = $('.s-raking .title-bar').attr('data-ranking');
var search = $('.quicksearch').attr('data-search');
var state = $('.players-state').attr('data-state');
$.ajax({
url : ajaxurl,
type: 'post',
data : {
action : 'playersmain',
position: position,
ranking: ranking,
search: search,
state: state
},
success : function( response ) {
$("#ajax-content").html(response);
$(".filters-ranking .players-results").mCustomScrollbar({
scrollButtons:{enable:true}
});
}
});
$.ajax({
url : ajaxurl,
type: 'post',
data : {
// action : 'playersmain',
action : 'players_lpm',
position: position,
ranking: ranking,
search: search,
state: state
},
success : function( response ) {
$(".ajax-content2").html(response);
}
});
}
ranking();
var owl8=$(“.slider ranking”);
猫头鹰旋转木马({
项目:1,
循环:对,
导航:是的,
动画衰减:“衰减”,
导航文本:['','',
点:错,
//自动播放:对,
自动播放超时:4000,
自动播放暂停:true
});
$('.customNextBtn4')。单击(函数(){
触发器('next.owl.carousel',[300]);
});
$('.customPrevBtn4')。单击(函数(){
owl8.trigger('prev.owl.carousel',[300]);
});
owl8.on('changed.owl.carousel',函数(e){
var电流=e.项目指数;
var currSl2=$(e.target.find(“.owl item”).eq(current.find(“.rankig one h3”).html();
$(.s-raking.title bar span”).html(currSl2);
var currSl3=$(e.target).find(“.owl item”).eq(当前).find(“.rankig one”).attr('data-title');
$(.s-raking.title bar”).attr(“数据排名”,currSl3);
排名();
});
/*首次装载*/
函数排序(){
$(“.filters ranking.players results”).mCustomScrollbar(“destroy”);
变量位置=$(“.filters选择选项:selected”).val();
var排名=$('s-raking.title bar').attr('data-ranking');
var search=$('.quicksearch').attr('data-search');
var state=$('.players state').attr('data-state');
$.ajax({
url:ajaxurl,
键入:“post”,
数据:{
动作:“playersmain”,
职位:职位,,
排名:排名,
搜索:搜索,
州:州
},
成功:功能(响应){
$(“#ajax内容”).html(响应);
$(“.filters ranking.players results”).mCustomScrollbar({
滚动按钮:{enable:true}
});
}
});
$.ajax({
url:ajaxurl,
键入:“post”,
数据:{
<section class="" style="margin-top: 60px; padding-bottom: 0;">
<div class="concept-bar">
<div class="container">
<h2 class="title-bar">EJES ESTRATÉGICOS</h2>
<div class="row" style="padding-top: 20px;">
<div class="col-4">
<div class="number-holder"><span class="eje-number">1</span>
<h2 class="concept-item">DESAROLLO INTEGRAL DE TALENTO</h2>
</div>
</div>
<div class="col-4">
<div class="number-holder"><span class="eje-number">2</span>
<h2 class="concept-item">APOYO AL BEISBOL INFANTIL Y JUVENIL</h2>
</div>
</div>
<div class="col-4">
<div class="number-holder"><span class="eje-number">3</span>
<h2 class="concept-item">IMPULSO DE CONCEPTO "BEISBOL" EN MÉXICO</h2>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="s-raking">
<div class="container">
<?php
$terms = get_terms( array(
'taxonomy' => 'ranking',
'hide_empty' => false,
) );
?>
<h2 class="title-bar" data-ranking="<?php echo $terms[0]->slug; ?>">Ranking <span><?php echo $terms[0]->name; ?></span>
<div class="ranking-nav-btn">
<div class="customPrevBtn4"><i class="fa fa-angle-left"></i></div>
<div class="customNextBtn4"><i class="fa fa-angle-right"></i></div>
</div>
</h2>
<div class="row no-gutters">
<div class="col-lg-8">
<div class="slider-ranking owl-carousel">
<?php
foreach($terms as $term) { ?>
<div class="rankig-one" style='background:url(<?php the_field('bg_image', 'term_' .$term->term_id ); ?>) no-repeat scroll center center; background-size: cover;' data-title="<?php echo $term->slug; ?>">
<h3><?php the_field('title_normal', 'term_' .$term->term_id ); ?> <?php if(get_field('title_strong', 'term_' .$term->term_id )) { ?><span><?php the_field('title_strong', 'term_' .$term->term_id ); ?></span><?php } ?></h3>
<!-- <ul class="ajax-content2"> -->
<?php
$posts = get_field('top_players', 'term_' .$term->term_id );
if( $posts ): ?>
<ul>
<?php $i = '1'; foreach( $posts as $post): ?>
<?php setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php echo $i; ?> <?php the_title(); ?></a></li>
<?php $i++; endforeach; ?>
</ul>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
</div>
<?php } ?>
</div>
</div>
<div class="col-lg-4">
<div class="filters-ranking">
<div class="filters-search">
<input type="text" class="quicksearch" placeholder="Encuentra a un jugador" />
<i class="fa fa-search"></i>
</div>
<div class="tabs d-flex">
<span class="tab">Ranking</span>
<span class="tab">Selecciona tu estado</span>
</div>
<div class="tab_content">
<div class="tab_item">
<div class="filters-bar">
<select class="filters-select" name="position" onchange="this.form.submit()">
<?php
$field_key = "field_5c80e92663dd1";
$field = get_field_object($field_key);
foreach ( $field['choices'] as $k => $v ) {
echo '<option value="' . $k . '">' . $v . '</option>';
}
?>
</select>
</div>
<div class="players-results" id="ajax-content"></div>
</div>
<div class="tab_item">
<div class="players-state">
<ul>
<?php
$field_key = "field_5cebb7e973218";
$field = get_field_object($field_key);
foreach ( $field['choices'] as $k => $v ) {
echo '<li data-value="' . $k . '">' . $v . '</li>';
}
?>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<?php
if(isset($_GET["position"])){
$position=$_GET["position"];
// echo "select position is => ".$position;
}
?>
</form>