Как продублировать функции php
У меня есть функция в functions.php
// load more function by ajax
add_action('wp_ajax_load_posts_by_ajax', 'load_posts_by_ajax_callback');
add_action('wp_ajax_nopriv_load_posts_by_ajax', 'load_posts_by_ajax_callback');
function load_posts_by_ajax_callback(){
check_ajax_referer('load_more_posts', 'security');
$paged= $_POST['page'];
$args = array(
'post_type' => 'materials',
'post_status' => 'publish',
'posts_per_page' => 4,
'paged' =>$paged,
'cat' => 40,
);
$my_posts = new WP_Query($args);
if ($my_posts-> have_posts()) { ?>
<?php
while($my_posts-> have_posts()){
$my_posts-> the_post(); ?>
<?php the_title(); ?>
<?php }
?>
<?php }
wp_die();
}
и есть скрипт в footer.php
<script type="text/javascript">
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
var page =2;
jQuery(function($){
// init isotope
var $grid = $('.grid');
$grid.isotope({
// options
itemSelector: '.item',
percentPosition: true,
});
$('body').on('click', '.loadmore', function(e){
var data = {
'action': 'load_posts_by_ajax',
'page': page,
'security': '<?php echo wp_create_nonce("load_more_posts"); ?>'
};
$.post(ajaxurl, data, function(response){
if (response != '') {
var $answer = $(response);
//append items to grid
$grid.append($answer)
.isotope('appended', $answer);
// layaout on imagesLoaded
$grid.imagesLoaded(function(){
$grid.isotope('layout');
});
page++;
} else{
$('.loadmore').text("ВСЕ ЗАГРУЖЕНО");
$('.loadmore').attr("disabled", true);
$('.loadmore').css("borderColor", "gray");
$('.loadmore').css("color", "gray");
}
});
e.preventDefault();
});
});
мне нужно таких 5 функций в каждой функции разные 'cat' => 40, как их переделать, я просто в php не разбираюсь...