drupal 7 – Cómo publicar nodos no publicados mediante programación

Pregunta:

Tengo algunos nodos no publicados, para los cuales tengo sus ID de nodo. ¿Cómo puedo publicarlos programáticamente? ¿Es correcto lograrlo en un módulo personalizado usando una consulta como la siguiente?

db_query("UPDATE {node} SET status = 1 WHERE nid = %d", $nid)

Respuesta:

Usar db_query() es un método de Drupal 6, que no se usa en Drupal 7. Para lograr su trabajo sugiero este código (sin ninguna consulta manual).

// load the node object
$node = node_load($nid);
// set status property to 1
$node->status = 1;
// re-save the node
node_save($node);

Si tiene más ID de nodo y desea publicar todos esos nodos, puede usar el siguiente código.

$nids = array();
// Load all nodes in one go for better performance.
$nodes = node_load_multiple($nids);
foreach ($nodes as $node) {
  // set status property to 1
  $node->status = 1;
  // re-save the node
  node_save($node);
}

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım