php 循环抓取网页内容(home.php默认的帖子模板获取内容-应根据 )
优采云 发布时间: 2022-02-23 04:25php 循环抓取网页内容(home.php默认的帖子模板获取内容-应根据
)
php主模板循环自定义——应该根据帖子模板获取内容
phpwordpress循环
php主模板循环自定义——要根据post模板获取内容,php、wordpress、loops、php、wordpress、loops,主题里面有两个文件:single.phpf-template.php→默认post type。它有一个不同的设计 Home.php 将获取前 10 个 文章 可以是上述任何模板但是当 home.php 上的内容来自 f-template.php 那么这两个东西应该在 home 实现function folder_paragrapgh($content){return preg_replace('/ on .php
]+)?>/', '
主题中有两个文件:
单.php
f-template.php
→ 默认帖子类型。它有不同的设计
Home.php
将获得前 10 个 文章,可以是上面的任何模板
但是,当 home.php 上的内容来自
f-template.php
那么这两件事应该在home.php上实现
function folder_paragrapgh($content){
return preg_replace('/]+)?>/', '<p class="para para2">', $content);
}
add_filter('the_content', 'folder_paragrapgh');
功能文件夹\u paragraph($content){
返回preg_replace('/]+)?>/','<p class=“para para2”>',$content);
}
添加过滤器(“内容”、“文件夹”段落);
和
(函数($){
//在这里执行所有基于美元的jquery。
$(函数(){
$('p.class2')。前缀(“”);
});
})(jQuery);
我试过这个:
if( is_page_template( 'f-template.php' ) ) {
function folder_paragrapgh($content){
return preg_replace('/]+)?>/', '<p class="para para2">', $content);
}
add_filter('the_content', 'folder_paragrapgh');
}
the_content();
}
if(是页面模板('f-template.php')){
功能文件夹_paragraph($content){
返回preg_replace('/]+)?>/','<p class=“para para2”>',$content);
}
添加过滤器(“内容”、“文件夹”段落);
}
_内容();
}
但这不起作用。实际上它是有缺陷的,因为我们正在处理的模板是
home.php
那么,我们是否有任何解决方案来实现我们想要实现的目标?
如果我错了,请纠正我,但听起来你想显示一个帖子循环,其中一些帖子有不同的设计,具体取决于你为其选择的页面模板
您可以检查正在使用的模板。在循环中将其与帖子的 id 一起使用
//检查是否有与查询匹配的帖子
如果(have_posts()):
//如果有与查询匹配的帖子,则启动循环
while(have_posts()):the_post();
//从循环中分配postId
$postId=_ID();
如果(获取页面模板slug($postId)==“f-template”){
//显示选择f-template时要查看的内容。
}否则{
//如果不满足任何条件,则显示默认情况下要查看的内容。
}
//显示所有帖子时停止循环
结束时;
//如果没有找到帖子
其他:
echo“对不起,没有符合您标准的帖子。”;
endif;
</p>
无法运行,因为它将检查主查询中当前页面的页面模板
这完全取决于您的用例,但我个人会添加一个额外的字段,使用高级自定义字段来实现此效果
祝你好运
你对问题的理解是正确的。你能用它的用法写一个完整的解决方案 → 获取页面模板 slug (我们可以在不使用自定义字段的情况下修复它吗?让
home.php
更聪明?我添加了一个可以在循环中使用的代码示例。将 $postId 替换为您正在使用的变量。只需键入 $post 对象也应该有效。$postId 是什么?某个特定帖子的ID?由于这个模板可以有很多帖子,我们不能就此止步。) 请输入一个 ID。我是初学者,请耐心等待。不用担心。我想说的是,当您使用 WordPress 循环时,您可以访问一个名为 _ID() 的函数。您可以将其值放入一个变量中,并使用该变量来检查 get_page_template_slug 函数使用的模板。我更新了代码以明确它是在循环中使用的。为了进一步阐明这一点,循环将为传入的每个帖子运行。因此,对于每个帖子,$postID 变量将被更改和使用。
if( is_page_template( 'f-template.php' ) ) {
function folder_paragrapgh($content){
return preg_replace('/]+)?>/', '<p class="para para2">', $content);
}
add_filter('the_content', 'folder_paragrapgh');
}
the_content();
}