Хочу переделать функционал галереи дефолтной под себя.
remove_shortcode('gallery');
add_shortcode('gallery', 'parse_gallery_shortcode');
function parse_gallery_shortcode($atts) {
global $post;
extract(shortcode_atts(array(
'orderby' => 'menu_order ASC, ID ASC',
'id' => $post->ID,
'itemtag' => 'dl',
'icontag' => 'dt',
'captiontag' => 'dd',
'columns' => 3,
'size' => 'thumbnail',
'link' => 'file'
), $atts));
$args = array(
'post_type' => 'attachment',
'post_parent' => $id,
'numberposts' => -1,
'orderby' => $orderby
);
$images = get_posts($args);
$imagcount = count($images);
$i = 1;
$imtitle = get_the_title();
foreach ( $images as $image ) {
...
Все параметрі, если они присутсвуют в шоркоде, работают, заменяя назначеній мной дефолтніе. Кроме параметров сортировки. Как я не страрался, срабатівает лишь ручная сортировка в окне управления загружеными файлами, а разные варианции order и orberby в шорткоде – игнор. А хотелось бы так…
Если есть порядок сортировки в шоркоде – берем его. если пользователь задал порядок сортировки в окне загрузки – берем его. Если ничего нет – берем параметры из кастомн-функции.