Page d'annonceOui, ouiSuper page unique| Template de site Web d'une page| SEO à une seule pageÉdition d'articles - fonction d'extension de l'une des fonctions, après l'ouverture de l'article peut être réglé comme une seule page indépendante, en général, seulement une petite partie de l'article doit être ouverte, ne peut pas utiliser le paramètre de masse.

Mais que faire si vous devez définir tous les articles comme une seule page de publicité et ne voulez pas opérer un par un ?
Ce qui suit est le programme que l'utilisateur a sponsorisé 100 pour l'aider à faire.
Vous pouvez créer un fichier updata.php et le placer dans le répertoire racine de votre site Web, puis accéder à votre URL /updata.php, et lorsque tous les articles sont transformés en annonces, vous recevrez un message « Fin de l'opération ».
Le code est le suivant :
<?php
require 'zb_system/function/c_system_base.php';
global $zbp;
$sql = "SELECT * FROM " . $zbp->table['Post'];
$array = $zbp->GetListCustom($zbp->table['Post'], $zbp->datainfo['Post'], $sql);
$count = count($array);
$batchSize = 100;
$delaySeconds = 2;
for ($i = 0; $i < $count; $i += $batchSize) {
$batch = array_slice($array, $i, $batchSize);
foreach ($batch as $post) {
// 检查 Type 的值是否为 1
if ($post->Type == 1) {
continue; // 如果为 1,不进行任何操作,继续下一次循环
}
$meta = $post->Metas->GetData();
if (!isset($meta['onepage'])) {
// 如果不存在 'onepage' 键,则设置其值为 '1'
$meta['onepage'] = '1';
$post->Metas->onepage = '1'; // 直接设置 'onepage' 值为 '1'
$post->Save();
}
}
if ($i + $batchSize < $count) {
sleep($delaySeconds); // 等待2秒
}
}
echo "操作结束!";
?>Le code ci-dessus utilise l'opération par lots, chaque opération 100 articles, intervalles de 2 secondes, il n'y a pas de barre de progression dans le processus d'opération, si vous avez beaucoup d'articles, s'il vous plaît attendre patiemment.





Ajouter des amis