Ray ray = new Ray(playerCamera.transform.position, playerCamera.transform.forward);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, raycastDistance))
{
Collider objectCollider = currentGameObject.GetComponent<Collider>();
Vector3 surfaceNormal = hit.normal;
Vector3 objectHalfSize = objectCollider.bounds.extents;
Vector3 offset = Vector3.Scale(surfaceNormal, objectHalfSize);
currentGameObject.transform.position = hit.point + offset;
}
$attachment_url = wp_get_attachment_url(carbon_get_post_meta( 'crb_game_files'));
сам по себе не сработал, красным все время горело, поэтому добавил post_id, но лучше стало не до конца, пока вот так вод выглядит add_action('save_post', 'crb_save_post', 10, 3);
function crb_save_post($post_id, $post, $update) {
$attachment_url = wp_get_attachment_url(carbon_get_post_meta($post_id, 'crb_game_files'));
error_log("Attachment URL: " . print_r($attachment_url, true));
if (!$attachment_url)
{
error_log("Ошибка: Файл не был загружен.");
return;
}
$file_info = array(
'tmp_name' => get_attached_file($attachment_url),
'name' => basename($attachment_url),
'type' => mime_content_type($attachment_url),
'error' => 0,
'size' => filesize($attachment_url),
);
error_log("==== Начало обработки сохранения поста ====");
error_log("post_id: $post_id");
error_log("post_title: {$post->post_title}");
error_log("update: " . ($update ? 'true' : 'false'));
if (!$update && defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
error_log("Производится автосохранение, прерываем обработку.");
return;
}
if (!isset($file_info['error']) || $file_info['error'] !== UPLOAD_ERR_OK) {
$error_message = "Ошибка при загрузке файла. Код ошибки: {$file_info['error']}";
error_log($error_message);
return;
}
error_log("Проверяем успешность перемещения файла...");
$games_folder = get_stylesheet_directory() . '/games/';
$post_folder = $games_folder . $post_id;
error_log("Путь к папке: $post_folder");
error_log("Размер файла: {$file_info['size']} байт");
error_log("Имя файла: {$file_info['name']}");
error_log("Тип файла: {$file_info['type']}");
error_log("Временное имя файла: {$file_info['tmp_name']}");
if (!file_exists($post_folder)) {
error_log("Папка не существует, создаем: $post_folder");
mkdir($post_folder, 0755, true);
} else {
error_log("Папка уже существует: $post_folder");
}
$target_path = $post_folder . '/' . basename($file_info['name']);
if (move_uploaded_file($file_info['tmp_name'], $target_path)) {
$log_message = "Файл успешно перемещен в папку: $target_path";
file_put_contents($post_folder . '/log.txt', $log_message . PHP_EOL, FILE_APPEND);
error_log($log_message);
} else {
$log_message = "Не удалось переместить файл.";
file_put_contents($post_folder . '/log.txt', $log_message . PHP_EOL, FILE_APPEND);
error_log($log_message);
error_log("Детали ошибки при перемещении файла: " . error_get_last()['message']);
}
error_log("==== Завершение обработки сохранения поста ====");
}
->set_value_type( 'url' )