Respuestas de foro creadas

Viendo 15 respuestas - de la 1 a la 15 (de un total de 15)
  • Iniciador del debate gpinyol10

    (@gpinyol10)

    Hola Condence,
    el problema es que las páginas que me van lentas son una parte privada que mi jefe no me deja enseñarlo, ya que necesitas usuario y contraseña para poder entrar.
    Pero una de las páginas es el código que pegué arriba.
    Entonces programar con php tal y como sé en WordPress causa lentitud? Me podrías indicar o decir alguna web para como optimizar mis consultas y programación de php y mysql para wordPress?
    Muchas gracias,

    Gemma

    Iniciador del debate gpinyol10

    (@gpinyol10)

    Hola,
    Tu crees que eso puede causar la lentitud? Si ejecuto ese ficheor fuera de WordPress me va muy rápido, asi que no creo que el archivo esté mal.
    A qué te refieres a que utilize las tablas de WordPress?
    Gracias,

    Gemma

    Iniciador del debate gpinyol10

    (@gpinyol10)

    <?php
    include ('funciones.php');
    $conn=conexion();
    
    $id_habitacion=$_POST['id_habitacion'];
    $id_hotel=$_POST['id_hotel'];
    $disponibilitat=$_POST['disponibilidad'];
    $dataActual=$_POST['dataActual'];
    $dataFinal=$_POST['dataFinal'];
    $llegada=$_POST['dataActual'];
    $salida=$_POST['dataFinal'];
    $precio=$_POST['precio'];
    $id_tarifa=$_POST['id_tarifa'];
    $descripcion=$_POST['descripcion'];
    $estado=$_POST['estado'];
    $estanciaMinima=$_POST['estanciaMinima'];
    $CTA=$_POST['cta'];
    $CTD=$_POST['ctd'];
    
    for ($i=0; $i<count($CTA); $i++) {
        if ($CTA[$i]=="Y") {
            unset($CTA[$i+1]);
        }
    }
    $cta=array_values($CTA);
    
    for ($i=0; $i<count($CTD); $i++) {
        if ($CTD[$i]=="Y") {
            unset($CTD[$i+1]);
        }
    }
    $ctd=array_values($CTD);
    
    for ($i=0; $i<count($disponibilitat); $i++) {
        $query="Select * from cantidad where data='".$dataActual."' and id_habitacio='".$id_habitacion."'";
        $result=mysqli_query($conn, $query);
        $count=mysqli_num_rows($result);
        if ($count==0) {
            $insertar="INSERT INTO cantidad VALUES ('', '".$id_habitacion."', '".$id_hotel."', '".$dataActual."', '".$disponibilitat[$i]."',0)";
            $result=mysqli_query($conn, $insertar);
        } else {
            $sql = "UPDATE cantidad SET cantidad='".$disponibilitat[$i]."' where data='".$dataActual."' and id_habitacio='".$id_habitacion."'";
            mysqli_query($conn, $sql);
        }
        $nuevafecha = strtotime ( '+ 1day' , strtotime ( $dataActual ) ) ;
        $nuevafecha = date ( 'Y-m-j' , $nuevafecha );
        $dataActual=$nuevafecha;
    }
    
    $dataActual=$_POST['dataActual'];
    $id_tarifaAnterior=$id_tarifa[0];
    $cantidad="select capacidad from  habitaciones where id_hotel='".$id_hotel."' and id_habitacion='".$id_habitacion."' and idioma='es'";
    $cantidad2=mysqli_query($conn, $cantidad);
    $cantidad3=mysqli_fetch_assoc($cantidad2);
    for ($i=0; $i<count($precio); $i++) {
        if ($precio[$i]=="") {
            $precio[$i]=0;
        }
        if ($id_tarifaAnterior!=$id_tarifa[$i]) {
            $dataActual=$_POST['dataActual'];
        }	
    
    	$query="Select id_precio from precios where id_tarifa='".$id_tarifa[$i]."' and id_hotel='".$id_hotel."' and data='".$dataActual."' and id_habitacion='".$id_habitacion."'";
    	$result=mysqli_query($conn, $query);
    	$count=mysqli_num_rows($result);
    	$arr_select=mysqli_fetch_assoc($result);
    		if ($cta[$i]=='Y') {
    			$cta[$i]='1';
    		} else {
    			$cta[$i]='0';
    		}
    		if ($ctd[$i]=='Y') {
    			$ctd[$i]='1';
    		} else {
    			$ctd[$i]='0';
    		}
    
    	if ($count==0) {
    		$insertar2="INSERT INTO precios VALUES ('', '".$id_tarifa[$i]."','".$id_hotel."', '".$id_habitacion."', '".$dataActual."', '".$precio[$i]."','', '" . $estanciaMinima[$i] . "', '" . $cta[$i] . "', '" . $ctd[$i] . "')";
    		mysqli_query($conn, $insertar2);
    	} else {
    		$sql2 = "UPDATE precios set precio ='" . $precio[$i] . "', estanciaMinima ='" . $estanciaMinima[$i] . "', CTA ='" . $cta[$i] . "', CTD ='" . $ctd[$i] . "' where id_precio='".$arr_select['id_precio']."'";
    		mysqli_query($conn, $sql2);
    
    	}
    
    	$sql4="select * from descuentos where id_tarifa='".$id_tarifa[$i]."' and id_hotel='".$id_hotel."'";
    	$res4=mysqli_query($conn, $sql4);
    	if (mysqli_num_rows($res4)>0) {
    		while ($arr4=mysqli_fetch_assoc($res4)) {
    			$sql5="select * from precios where id_tarifa='".$arr4['deTarifa']."' and id_hotel='".$id_hotel."' and id_habitacion='".$id_habitacion."'";
    			$res5=mysqli_query($conn, $sql5);
    			while ($arr5=mysqli_fetch_assoc($res5)) {
    				$precioTotal=0;
    				if ($arr4['aplicar']=='completo') {
    					if ($arr4['descuento']=='suma') {
    						if ($arr4['unidad']==0) {
    							$por=(($arr4['valor']*$arr5['precio'])/100);
    							$precioTotal=$arr5['precio']+$por;
    						} else if ($arr4['unidad']==1) {
    							$precioTotal=$arr5['precio']+$arr4['valor'];
    						}
    
    					} else if ($arr4['descuento']=='resta') {
    						if ($arr4['unidad']==0) {
    							$por=(($arr4['valor']*$arr5['precio'])/100);
    							$precioTotal=$arr5['precio']-$por;
    						} else if ($arr4['unidad']==1) {
    							$precioTotal=$arr5['precio']-$arr4['valor'];
    						}
    					} 
    
    				} else {
    					$habita="select capacidad from habitaciones where id_habitacion='".$id_habitacion."' and idioma='es' and id_hotel='".$id_hotel."'";
    					$habita1=mysqli_query($conn, $habita);
    					$habita2=mysqli_fetch_assoc($habita1);
    					if ($arr4['descuento']=='suma') {
    						if ($arr4['unidad']==0) {
    							$por=(($arr4['valor']*($arr5['precio']*$habita2['capacidad']))/100);
    							$precioTotal=$arr5['precio']+$por;
    						} else if ($arr4['unidad']==1) {
    							$precioTotal=$arr5['precio']+($arr4['valor']*$habita2['capacidad']);
    						}
    					} else if ($arr4['descuento']=='resta') {
    						if ($arr4['unidad']==0) {
    							$por=(($arr4['valor']*($arr5['precio']*$habita2['capacidad']))/100);
    							$precioTotal=$arr5['precio']-$por;
    						} else if ($arr4['unidad']==1) {
    							$precioTotal=$arr5['precio']-($arr4['valor']*$habita2['capacidad']);
    						}
    					}
    				}
    
    				if ($arr4['desde']!='0000-00-00') {
    					if(strtotime($arr5['data'])>=strtotime($arr4['desde']) && strtotime($arr5['data'])<=strtotime($arr4['hasta'])) {
    						$check="select id_precio from precios where id_tarifa='".$arr5['id_tarifa']."' and id_habitacion='".$id_habitacion."' and id_hotel='".$id_hotel."' and data='".$arr5['data']."'";
    						$check2=mysqli_query($conn, $check);
    						if (mysqli_num_rows($check2)==0) {
    							$insert="insert into precios VALUES ('','".$arr4['id_tarifa']."','".$id_hotel."', '".$id_habitacion."', '".$arr5['data']."', '".$precioTotal."', '0', '0', '0', '0')";
    							mysqli_query($conn, $insert);
    						} else {
    							$update="update precios set precio='".$precioTotal."' where id_tarifa='".$arr4['id_tarifa']."' and id_hotel='".$id_hotel."' and data='".$arr5['data']."' and id_habitacion='".$id_habitacion."'";
    							mysqli_query($conn, $update);
    						}
    					}
    				} else {
    					$check="select id_precio from precios where id_tarifa='".$arr5['id_tarifa']."' and id_habitacion='".$id_habitacion."' and id_hotel='".$id_hotel."' and data='".$arr5['data']."'";
    					$check2=mysqli_query($conn, $check);
    					if (mysqli_num_rows($check2)==0) {
    						$insert="insert into precios VALUES ('','".$arr4['id_tarifa']."','".$id_hotel."', '".$id_habitacion."', '".$arr5['data']."', '".$precioTotal."', '0', '0', '0', '0')";
    						mysqli_query($conn, $insert);
    					} else {
    						$update="update precios set precio='".$precioTotal."' where id_tarifa='".$arr4['id_tarifa']."' and id_hotel='".$id_hotel."' and data='".$arr5['data']."' and id_habitacion='".$id_habitacion."'";
    						mysqli_query($conn, $update);
    					}
    				}
    			}
    		}
    	}
    
        $nuevafecha = strtotime ( '+ 1day' , strtotime ( $dataActual ) ) ;
        $nuevafecha = date ( 'Y-m-j' , $nuevafecha );
        $dataActual=$nuevafecha;
        $id_tarifaAnterior=$id_tarifa[$i];
    }
    
    echo '<script>';
    echo 'var url=window.location.href;';
    echo 'var separar=url.split("wp-content/");';
    echo 'window.location.href = separar[0]+"wp-admin/admin.php?page=disponibilidad_habitaciones&action=habitacion&id_hotel='.$id_hotel.'&id_habitacion='.$id_habitacion.'&llegada='.$llegada.'&salida='.$salida.'"';
    echo '</script>';

    Lo que hago es coger todos los inputs que tengo en la página anterior de todo un mes, de cada dia hay la disponibilidad, el precio, la estancia mínima, CTA y CTD, entonces inserto cada uno de ellos

    Iniciador del debate gpinyol10

    (@gpinyol10)

    El plugin lo he creado yo misma, es decir no es de WordPress.

    Foro: Plugins y Hacks
    En respuesta a: Plugin WordPress
    Iniciador del debate gpinyol10

    (@gpinyol10)

    Haciéndolo de esta manera si que puedo hacerlo, pero pensaba que lo que yo pedía, crear páginas web sin que sea menú o submenú, sería algo común.
    Entonces lo haré así, con el require_once().

    Gracias por tu ayuda,

    Gemma

    Foro: Plugins y Hacks
    En respuesta a: Plugin WordPress
    Iniciador del debate gpinyol10

    (@gpinyol10)

    Hola,
    creo que no nos entendemos.
    No sé cómo explicarme mejor.
    La manera que me has puesto ahora, se ha creado un menú Habitaciones. Pero yo no quiero que habitaciones sea un menú. El menú ya es Disponibilidad Habitaciones y tengo dos submenú Nueva Tarifa y Insertar Precios. Hasta ahí bien y todo funciona.
    Pero si por ejemplo estoy dentro de Insertar Precios y quiero hacer un link que vaya a una página habitaciones.php, cómo hago el link a esa página? Ya que habitaciones.php no es ni menú ni submenú, sólo es una página más de mi plugin.
    Si yo hago esto en Insertar Precios:

    <a href="habitaciones.php">Ver habitaciones </a>

    Si clico, me irá a la página habitaciones.php pero que esta página ya no tendrá la estructura del panel de control del administrador, es decir no se verá a la izquierda el menú de entradas, ajustes, posts, etc etc.
    Yo quiero que habitaciones.php forme parte de mi plugin pero sin que sea ni menú ni submenú y que siga manteniendo la estructura del panel de control.

    No sé si ahora me he explicado mejor.

    Muchas gracias,

    Gemma

    Foro: Plugins y Hacks
    En respuesta a: Plugin WordPress
    Iniciador del debate gpinyol10

    (@gpinyol10)

    Hola otra vez,
    siento la insistencia de verdad.
    Yo utilizo el WordPress para enseñar habitaciones y otros textos y más cosas. Pero yo quiero el plugin solo para el administrador, para que pueda cambiar algunos precios de sus habitaciones (mi jefe me ha pedido hacer este plugin personalizado porque hay muchas características que ningún plugin de WordPress hace).
    A lo mejor tienes razón y es más fácil lo de crear posts pesonalizados, pero nunca lo he hecho y voy un poco justa de tiempo para aprender a utilizar esto.
    Si que he visto el ejemplo que has puesto en tu primer mensaje, pero el menú ya lo tengo creado y los submenús también. Yo sólo quiero entrar a una página (que no es menú ni submenú) manteniendo el panel de control, tal y cómo se me muestran en las páginas de menú y de submenú pero sin hacerlas menú ni submenú.

    La dirección:
    http://sunwayvps1.telematic.cat:7080/hotelplayagolfsitges2/wp-admin/admin.php?page=disponibilidad-habitaciones%2FinsertarPrecios.php

    insertarPrecios.php, me funciona y puedo entrar porque esta página la he creado en el submenu, igual que la de nuevaTarifa.php

    pero si por ejemplo quiero acceder a:

    http://sunwayvps1.telematic.cat:7080/hotelplayagolfsitges2/wp-admin/admin.php?page=disponibilidad-habitaciones%2Fhabitacion.php

    me dice que no tengo permisos suficientes, y supongo que es porque no he creado esta página en el plugin. Por eso he pensando que a lo mejor se creaba la página sin tener que añadirla a un menú o submenu con la función add_pages_page() pero no me funciona.

    Siento mucho la insistencia, a lo mejor soy yo que no te entiendo.
    Gracias por tu paciencia,

    Gemma

    Foro: Plugins y Hacks
    En respuesta a: Plugin WordPress
    Iniciador del debate gpinyol10

    (@gpinyol10)

    Hola,
    prefiero crear yo misma las páginas ya que no lo domino lo suficiente lo de la API de WordPress.

    Tengo este código:

    function menu_plugin(){
        add_menu_page(
        // Título de la página
            'Disponibilidad Habitaciones',
            // Nombre del menu
            'Disponibilidad Habitaciones',
            // capcidad del usuario para acceder
            'manage_options',
            // Slug del menu
            'disponibilidad_habitaciones',
            // Funcion callback para crear el contenido de la páinga
            'disponibilidad_habitaciones',
            // Icono para el menu
            plugins_url('/hotel.png', __FILE__),
            // Posición del menu
            6
        );
        add_submenu_page (
        // Slug del menu padre
            'disponibilidad_habitaciones',
            // Título de la páinga
            'Nueva Tarifa',
            // Título para el menu
            'Nueva Tarifa',
            // Capacidad del usuario para que pueda acceder
            'manage_options',
            // Slug del submenu
            'disponibilidad-habitaciones/nuevaTarifa.php',
            // Función callback para generar el contenido de esta sub-página
            ''
        );
        add_submenu_page (
        // Slug del menu padre
            'disponibilidad_habitaciones',
            // Título de la páinga
            'Insertar Precios',
            // Título para el menu
            'Insertar Precios',
            // Capacidad del usuario para que pueda acceder
            'manage_options',
            // Slug del submenu
            'disponibilidad-habitaciones/insertarPrecios.php',
            // Función callback para generar el contenido de esta sub-página
            ''
        );
        add_pages_page (
        // Slug del menu padre
            'disponibilidad_habitaciones',
            // Título de la páinga
            'Habitacion',
            // Título para el menu
            'Habitacion',
            // Capacidad del usuario para que pueda acceder
            'manage_options',
            // Slug del submenu
            'disponibilidad-habitaciones/habitacion.php',
            // Función callback para generar el contenido de esta sub-página
            ''
        );
    }
    
    add_action('admin_menu','menu_plugin');

    La página habitacion.php no quiero que sea un submenu, por eso mismo no puedo crearla como add_submenu_page, pero tampoco me funciona como add_pages_page, ya que si intento entrar, me dice que no tengo suficientes permisos. Estoy creando mal una página normal y corriente que no esté en el menú ni el submenú?

    Gracias,

    Gemma

    Foro: Plugins y Hacks
    En respuesta a: Plugin WordPress
    Iniciador del debate gpinyol10

    (@gpinyol10)

    El problema es que lo estoy programando yo por mi cuenta, por ejemplo la web de habitaciones.php hace varias consultas php, por eso no lo tengo dentro de una página.
    He creado yo esa página dónde hago consultas a la base de datos, inserts, etc.
    No se pueden crear páginas como los submenu, pero que no esté en el submenú.
    Osea crear la página habitaciones.php que la tengo dentro de mi directorio de plugin manteniendo el panel de control.

    Gracias,

    Gemma

    Foro: Plugins y Hacks
    En respuesta a: Plugin WordPress
    Iniciador del debate gpinyol10

    (@gpinyol10)

    Gracias, si que he podido ahora crear un submenu que enlaza a otra página y no a una función.
    Pero sigo sin saber cómo poner lo del link.
    Por ejemplo tengo

    <a href="habitacion.php">Editar habitación</a>

    o

    <form action="habitacion.php" ......> </form>

    Si yo clico a Editar habitación, o envio el formulario, este tiene que ir a habitacion.php, pero cómo creo esta página para que siga teniendo el panel de administración de admin? Tal y cómo las páginas de submenú.

    Gracias,

    Gemma

    Foro: Plugins y Hacks
    En respuesta a: Plugin WordPress
    Iniciador del debate gpinyol10

    (@gpinyol10)

    Se ha cortado:

    me pone que No se pudo cargar disponibilidad-habitaciones/habitaciones.php.

    No sé cómo poner el código cómo lo has hecho tu, lo siento por el desorden.

    Foro: Plugins y Hacks
    En respuesta a: Plugin WordPress
    Iniciador del debate gpinyol10

    (@gpinyol10)

    Hola,
    mi plugin se llama disponibilidad-habitaciones, entonces tengo disponibilidad-habitaciones.php que es la página principal dónde creo el menú:

    ‘function menu_plugin(){
    add_menu_page(‘Disponibilidad Habitaciones’, ‘Disponibilidad Habitaciones’, ‘manage_options’, __FILE__, ‘disponibilidad_habitaciones’, plugins_url(‘/disponibilidad-habitaciones/hotel.png’,__DIR__),6);
    add_submenu_page(__FILE__, ‘Nueva Tarifa’, ‘Nueva Tarifa’, ‘manage_options’, __FILE__.’/nuevaTarifa’, ‘nuevaTarifa’);
    add_submenu_page(__FILE__, ‘Cargar Precios’, ‘Cargar Precios’, ‘manage_options’, __FILE__.’/cargarPrecios’, ‘cargarPrecios’);
    add_menu_page (
    ‘Habitaciones’,
    ‘Disponibilidad Habitaciones’,
    ‘manage_options’,
    ‘disponibilidad-habitaciones/habitaciones.php’
    );
    }

    function disponibilidad_habitaciones(){
    echo «<h3>Disponibilidad Habitaciones Hotel Playa Golf Sitges</h3>»;
    }

    add_action(‘admin_menu’,’menu_plugin’);’

    La página se llama habitaciones.php, si entro así:
    http://sunwayvps1.telematic.cat:7080/hotelplayagolfsitges2/wp-admin/admin.php?page=disponibilidad-habitaciones%2Fhabitaciones.php

    me dice que no tengo permisos para entrar.

    Gracias por la respuesta rápida,

    Gemma

    me pone que

    Iniciador del debate gpinyol10

    (@gpinyol10)

    Tienes razón ya lo he encontrado!
    Gracias 🙂

    Gemma

    Iniciador del debate gpinyol10

    (@gpinyol10)

    Gracias!

    Iniciador del debate gpinyol10

    (@gpinyol10)

    Ya está solucionado, no me habia dado cuenta que sin querer habia eliminado la página.
    Gracias igualmente

Viendo 15 respuestas - de la 1 a la 15 (de un total de 15)