
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???
Cuando lo pongo en un add_filter el user_ID lo traigo con get_current_user_id()
Desde ya muchas gracias
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


0