《超级单页|单页网站模板|seo单页》怎么批量把所有文章设置为广告单页?
27512023-12-25 10:48:29
广告单页是《超级单页|单页网站模板|seo单页》文章编辑——扩展功能中的一个功能,开启后可以把文章设置为独立的单页,一般情况下只有少部分的文章需要开启,用不到批量设置。
但是如果你需要把所有的文章都设置为广告单页,又不想一一的操作该怎么办呢?
以下方案是用户赞助了100帮他做的。
你可以创建一个updata.php的文件放在你的网站根目录,然后访问你的网址/updata.php即可,当所有文章都变成广告单页就会提示“操作结束”。
代码如下:
<?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 "操作结束!";
?>
以上代码中用到了分批操作,每次操作100篇文章,间隔2秒,在操作过程中没有进度条,如果你的文章特别多,请耐心等待。
-
喜欢(11)
-
不喜欢(1)