Iniciador del debate
David
(@dvdmrnjcbssn)
Intente hacerlo por código usando el ChatGPT, pero no funciona correctamente. Creo que el problema esta al guardar el pdf, ya que no se me crea la carpeta donde debería en la carpeta de medios.
// Agregar el campo "Sociedad" al formulario de registro
function agregar_campo_sociedad_registro() {
?>
<p class="form-row">
<label for="sociedad">Sociedad</label>
<input type="file" name="sociedad" id="sociedad" accept=".pdf">
</p>
<?php
}
add_action('woocommerce_register_form', 'agregar_campo_sociedad_registro');
// Guardar el PDF subido por los usuarios
function guardar_sociedad_usuario($user_id) {
if (!empty($_FILES['sociedad']['name'])) {
$sociedad_file = $_FILES['sociedad'];
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir['basedir'] . '/sociedad/';
if (!file_exists($upload_path)) {
wp_mkdir_p($upload_path);
}
$file_name = sanitize_file_name($sociedad_file['name']);
move_uploaded_file($sociedad_file['tmp_name'], $upload_path . $file_name);
update_user_meta($user_id, 'sociedad', $file_name);
}
}
add_action('woocommerce_created_customer', 'guardar_sociedad_usuario');
// Mostrar columna con el enlace al PDF en la página de usuarios
function mostrar_columna_sociedad($columns) {
$columns['sociedad'] = 'Sociedad PDF';
return $columns;
}
add_filter('manage_users_columns', 'mostrar_columna_sociedad');
function mostrar_valor_columna_sociedad($value, $column_name, $user_id) {
if ($column_name === 'sociedad') {
$file_name = get_user_meta($user_id, 'sociedad', true);
if (!empty($file_name)) {
$upload_dir = wp_upload_dir();
$sociedad_url = $upload_dir['baseurl'] . '/sociedad/' . $file_name;
$value = '<a href="' . esc_url($sociedad_url) . '" target="_blank">Ver PDF</a>';
}
}
return $value;
}
add_filter('manage_users_custom_column', 'mostrar_valor_columna_sociedad', 10, 3);
// Agregar enlace para descargar el PDF en el perfil del usuario en el backend
function agregar_enlace_descargar_pdf() {
$user_id = get_current_user_id();
$file_name = get_user_meta($user_id, 'sociedad', true);
if (!empty($file_name)) {
$upload_dir = wp_upload_dir();
$sociedad_path = $upload_dir['basedir'] . '/sociedad/' . $file_name;
if (file_exists($sociedad_path)) {
echo '<h2>Sociedad PDF</h2>';
echo '<a href="' . esc_url($sociedad_path) . '" download>Descargar PDF</a>';
}
}
}
add_action('show_user_profile', 'agregar_enlace_descargar_pdf');
add_action('edit_user_profile', 'agregar_enlace_descargar_pdf');
Muchas gracias