@Valtasaar

Как изменить папку загрузки файлов в wordpress?

Доброго всем!
Хотел изменить стандартную папку загрузки файлов в wordpress.
Наваял такую вот функцию:
function change_upload_dir($args) {
	$id = (isset($_GET['post']) ? $_GET['post'] : '');

	if (get_post_type($id) == 'post_type') {
		$args['path'] = $args['basedir'] . '/post_type';
		$args['url'] = $args['baseurl'] . '/post_type';
		$args['subdir'] = '/post_type';
	}

	return $args;
}
add_filter('upload_dir', 'change_upload_dir');


Но, в таком виде не работает. Причем, если убрать условие или вставить в if true, то все работает. Причем, другие операторы, например, var_dump, отрабатывают с этим условием и даже создается подпапка для файлов, но файлы грузятся по дефолтному адресу. Как такое возможно вообще?
  • Вопрос задан
  • 375 просмотров
Пригласить эксперта
Ответы на вопрос 2
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
судя по описанию, у тебя либо $id неправильно обрабатывается, либо post_type неверный

попробуй отладить так:
if (get_post_type(get_the_ID()) == 'post_type') {
    ...
  } else {
    die('POST TYPE: '.get_post_type(get_the_ID()));
  }
Ответ написан
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
В доке написано (болд мой):

Using this, in conjunction with the wp_handle_upload_prefilter, you can dynamically determine which directory to upload to, based on the files you upload.

Посмотрите примеры тут и тут.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы