WordPress - Actualizar base de datos con $wpdb

 
Vista:
sin imagen de perfil

Actualizar base de datos con $wpdb

Publicado por SEBASTIAN (1 intervención) el 02/09/2022 19:39:52
Buenos días, hice una función para actualizar una tabla creada en la base de wp, usé el hook wp_login y me funciona perfecto, quiero hacer lo mismo pero que se ejecute cuando se carga un pagina determinada. Intente ponerlo en add_filter (the content) y si lo pongo en otro hook como init o wp_loaded me genera un error en el sitio.
Donde debería ponerlo???

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function price_update( $user_login, WP_User $user ) {
 
     global $wpdb;
 
	    $items = $wpdb->get_results("SELECT stock_ticker FROM portfolio WHERE user_ID = $user->ID");
 
		// nombre de los campos de la tabla
		foreach ($items as $item) {
 
                            $ticker = $item->stock_ticker;
                            $cadena = "https://query1.finance.yahoo.com/v10/finance/quoteSummary/".$ticker."?modules=financialData";
                            $url=$cadena;
                            $data= file_get_contents($url);
                            $resultados = json_decode($data, true);
                            $new_price = $resultados ['quoteSummary']['result'][0]['financialData']['currentPrice']['raw'];
                            $wpdb->update('portfolio', array('price' => $new_price),array( 'user_ID' => $user->ID, 'stock_ticker' => $ticker));
 
                        }
}
 
add_action( 'wp_login', 'price_update', 10, 2 );

Cuando lo pongo en un add_filter el user_ID lo traigo con get_current_user_id()

Desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sergio

Actualizar base de datos con $wpdb

Publicado por Sergio (2 intervenciones) el 11/04/2023 17:22:17
Hola Sebastián.

Has probado a hacer un condicional?

algo así como:

if( $post->ID == 346) {

codigo....

}


Un saludo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar