Các bạn cài plugin custom post type để tạo post type tuyển dụng nha
// END ENQUEUE PARENT ACTION
function namespace_add_custom_types( $query ) {
if( (is_category() || is_tag()) && $query->is_archive() && empty( $query->query_vars['suppress_filters'] ) ) {
$query->set( 'post_type', array(
'post', 'tuyendung'
));
}
}
add_action( 'pre_get_posts', 'namespace_add_custom_types' );
// tuyen dung
add_shortcode('tuyendung','function_tuyendung');
function function_tuyendung(){
ob_start();
?>
<div class="tuyendung_mediavnpro">
<div class="row_tb_left_mediavnpro">
<!-- khoi van phong-->
<?php
$args = array(
'post_type' => 'tuyendung',
'child_of' => 0,
'parent' => 18,
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'hierarchical' => 0,
);
$cats = get_categories($args);
$parentCatName = get_cat_name($cats[0]->parent);
echo '<div class="dropdown"><h3>'.$parentCatName.'</h3>';
?><form class="form_khoivanpong" action="" method="post" name="form_khoivanpong">
<ul>
<?php
foreach($cats as $cat) {
?><li>
<input type="radio" id="<?php echo $cat->term_id; ?>" name="khoi_van_phong" value="<?php echo $cat->term_id; ?>"><label for="<?php echo $cat->term_id; ?>"><?php echo $cat->name; ?></label>
</li>
<?php
}
?>
</ul></form></div>
<!-- Khối cửa hàng -->
<?php
$args = array(
'post_type' => 'tuyendung',
'child_of' => 0,
'parent' => 23,
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'hierarchical' => 0,
);
$cats = get_categories($args);
$parentCatName = get_cat_name($cats[0]->parent);
echo '<h3>'.$parentCatName.'</h3>';
?><form class="form_khoicuahang" action="" method="post" name="form_khoicuahang"><ul>
<?php
foreach($cats as $cat) {
?><li>
<input type="radio" id="<?php echo $cat->term_id; ?>" name="khoi_van_phong" value="<?php echo $cat->term_id; ?>"><label for="<?php echo $cat->term_id; ?>"><?php echo $cat->name; ?></label>
</li>
<?php
}
?>
</ul></form>
<!-- vi tri cong viec -->
<?php
$args = array(
'post_type' => 'tuyendung',
'child_of' => 0,
'parent' => 28,
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'hierarchical' => 0,
);
$cats = get_categories($args);
$parentCatName = get_cat_name($cats[0]->parent);
echo '<h3>'.$parentCatName.'</h3>';
?><form class="form_vitri" action="" method="post" name="form_vitri"><ul>
<?php
foreach($cats as $cat) {
?><li>
<input type="radio" id="<?php echo $cat->term_id; ?>" name="khoi_van_phong" value="<?php echo $cat->term_id; ?>"><label for="<?php echo $cat->term_id; ?>"><?php echo $cat->name; ?></label>
</li>
<?php
}
?>
</ul></form>
<!-- thoi gian lam viec -->
<?php
$args = array(
'post_type' => 'tuyendung',
'child_of' => 0,
'parent' => 34,
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'hierarchical' => 0,
);
$cats = get_categories($args);
$parentCatName = get_cat_name($cats[0]->parent);
echo '<h3>'.$parentCatName.'</h3>';
?><form class="form_thogian" action="" method="post" name="form_thogian"><ul>
<?php
foreach($cats as $cat) {
?><li>
<input type="radio" id="<?php echo $cat->term_id; ?>" name="khoi_van_phong" value="<?php echo $cat->term_id; ?>"><label for="<?php echo $cat->term_id; ?>"><?php echo $cat->name; ?></label>
</li>
<?php
}
?>
</ul>
</form>
</div>
<div class="row_tb_right_mediavnpro">
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type'=>'tuyendung', // Your post type name
'posts_per_page' => 20,
'paged' => $paged,
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
?>
<div class="show_post">
<div class="top_show_p">Có <?php echo $loop->found_posts; ?> việc làm</div>
<?php
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="item_post">
<div class="item_left"><span><?php the_title(); ?></span>
<div class="muc_luong">Mức lương: <?php the_field('muc_luong'); ?></div>
<div class="so_luong">Số lượng: <?php the_field('so_luong'); ?></div>
</div>
<div class="item_right"><span>Hạn nộp: <?php the_field('han_nop'); ?></span>
<button><a href="<?php the_permalink() ?>">chi tiết</a></button>
</div>
</div>
<?php
endwhile;
$total_pages = $loop->max_num_pages;?>
<div class="panigation_post">
<?php
if ($total_pages > 1){
$current_page = max(1, get_query_var('paged'));
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%',
'current' => $current_page,
'total' => $total_pages,
'prev_text' => __('« Lùi lại'),
'next_text' => __('Tiếp theo »'),
));
}?>
</div>
<?php
}
wp_reset_postdata();?>
</div>
<!-- end show post-->
</div>
</div>
<!-- scrip ajax-->
<script type="text/javascript">
(function($){
$(document).ready(function(){
$('.row_tb_left_mediavnpro form input').click(function(){
var khoivanphong = $('.row_tb_left_mediavnpro .form_khoivanpong input[type="radio"]:checked').val();
var khoicuahang = $('.row_tb_left_mediavnpro .form_khoicuahang input[type="radio"]:checked').val();
var vitri = $('.row_tb_left_mediavnpro .form_vitri input[type="radio"]:checked').val();
var form_thogian = $('.row_tb_left_mediavnpro .form_thogian input[type="radio"]:checked').val();
$.ajax({
type : "post", //Phương thức truyền post hoặc get
dataType : "json", //Dạng dữ liệu trả về xml, json, script, or html
url : '<?php echo admin_url('admin-ajax.php');?>', //Đường dẫn chứa hàm xử lý dữ liệu. Mặc định của WP như vậy
data : {
action: "loadpost", //Tên action
khoivanphong:khoivanphong,
khoicuahang:khoicuahang,
vitri:vitri,
form_thogian:form_thogian,
},
context: this,
beforeSend: function(){
//Làm gì đó trước khi gửi dữ liệu vào xử lý
},
success: function(response) {
//Làm gì đó khi dữ liệu đã được xử lý
if(response.success) {
$('.show_post').html(response.data);
}
else {
alert('Đã có lỗi xảy ra');
}
},
error: function( jqXHR, textStatus, errorThrown ){
//Làm gì đó khi có lỗi xảy ra
console.log( 'The following error occured: ' + textStatus, errorThrown );
}
});
// return false;
})
})
})(jQuery)
</script>
<!-- end ajax-->
<?php
$html = ob_get_clean();
return $html;
}
add_action( 'wp_ajax_loadpost', 'loadpost_init' );
add_action( 'wp_ajax_nopriv_loadpost', 'loadpost_init' );
function loadpost_init() {
//do bên js để dạng json nên giá trị trả về dùng phải encode
$khoivanphong = (isset($_POST['khoivanphong']))?esc_attr($_POST['khoivanphong']) : '';
$khoicuahang = (isset($_POST['khoicuahang']))?esc_attr($_POST['khoicuahang']) : '';
$vitri = (isset($_POST['vitri']))?esc_attr($_POST['vitri']) : '';
$form_thogian = (isset($_POST['form_thogian']))?esc_attr($_POST['form_thogian']) : '';
ob_start();
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type'=>'tuyendung', // Your post type name
'posts_per_page' => 20,
'paged' => $paged,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'field' => 'term_id',
'terms' => array( $khoivanphong, $khoicuahang, $vitri, $form_thogian),
),
),
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
?>
<div class="top_show_p">Có <?php echo $loop->found_posts; ?> việc làm</div>
<?php
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="item_post">
<div class="item_left"><span><?php the_title(); ?></span>
<div class="muc_luong">Mức lương: <?php the_field('muc_luong'); ?></div>
<div class="so_luong">Số lượng: <?php the_field('so_luong'); ?></div>
</div>
<div class="item_right"><span>Hạn nộp: <?php the_field('han_nop'); ?></span>
<button><a href="<?php the_permalink() ?>">chi tiết</a></button>
</div>
</div>
<?php
endwhile;
$total_pages = $loop->max_num_pages;?>
<div class="panigation_post">
<?php
if ($total_pages > 1){
$current_page = max(1, get_query_var('paged'));
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%',
'current' => $current_page,
'total' => $total_pages,
'prev_text' => __('« Lùi lại'),
'next_text' => __('Tiếp theo »'),
));
}?>
</div>
<?php
}
wp_reset_postdata();
$result = ob_get_clean(); //cho hết bộ nhớ đệm vào biến $result
wp_send_json_success($result); // trả về giá trị dạng json
die();//bắt buộc phải có khi kết thúc
}
0 Lời bình