如何让wordpress首页只显示某一篇文章全部内容?在您的主页显示选择

2024-01-30 12:52

本文主要是介绍如何让wordpress首页只显示某一篇文章全部内容?在您的主页显示选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大多数WordPress站点首页默认都是显示最新发布的文章列表,不过有些站点比较特殊,只想显示某一篇文章的全部内容,那么应该怎么设置呢?

其实,WordPress后台 >> 设置 >> 阅读 >> 在“您的主页显示”中选择“一个静态页面(在下方选择)”的“主页”中选择某一篇文章即可。

如何让wordpress首页只显示某一篇文章全部内容?在您的主页显示选择-第1张-boke112百科(boke112.com)

不过WordPress后台的“您的主页显示”主页默认只能选择页面,不能选择文章页,所以需要我们添加以下代码到当前主题的函数文件functions.php实现才行。

// 阅读设置主页显示可以选择文章
class CustomFrontPage {
private static $instance;
public static function get_instance() {
return isset( self::$instance ) ? self::$instance : new self();
}private function __construct() {
self::$instance = $this;
if ( is_admin() ) {
add_filter( 'wp_dropdown_pages', array( $this, 'wp_dropdown_pages' ) );
} else {
add_action( 'pre_get_posts', array( $this, 'pre_get_posts' ) );
add_action( 'template_redirect', array( $this, 'template_redirect' ) );
}
}public function wp_dropdown_pages( $output ) {
global $pagenow;
if ( ( 'options-reading.php' === $pagenow || 'customize.php' === $pagenow ) && preg_match( '#page_on_front#', $output ) ) {
$output = $this->posts_dropdown();
}return $output;
}protected function posts_dropdown( $post_type = 'any' ) {
$output = '';
if ( 'any' !== $post_type && ! post_type_exists( $post_type ) ) {
$post_type = 'page';
}
$posts = get_posts(
array(
'posts_per_page' => - 1,
'orderby' => 'title',
'order' => 'ASC',
'post_type' => $post_type,
'post_status' => 'publish',
)
);$front_page_id = get_option( 'page_on_front' );$select = __( 'Select' );
$output .= '<select name="page_on_front" id="page_on_front">';
$output .= "<option value=\"0\">&mdash; {$select} &mdash;</option>";
foreach ( $posts as $post ) {
$selected = selected( $front_page_id, $post->ID, false );
$post_type_obj = get_post_type_object( $post->post_type );$output .= "<option value=\"{$post->ID}\"{$selected}>{$post->post_title} ({$post_type_obj->labels->singular_name})</option>";
}
$output .= '</select>';return $output;
}public function pre_get_posts( $query ) {
if ( $query->is_main_query() ) {
$post_type = $query->get( 'post_type' );
$page_id = $query->get( 'page_id' );
if ( empty( $post_type ) && ! empty( $page_id ) ) {
$query->set( 'post_type', get_post_type( $page_id ) );
}
}
}public function template_redirect() {
global $post;
if ( is_singular() && ! is_front_page() && absint( get_option( 'page_on_front' ) ) === $post->ID ) {
wp_safe_redirect( site_url(), 301 );
}
}
}CustomFrontPage::get_instance();

以上代码来自@知更鸟 – WordPress 主页显示设置增加文章选择

至此,我们可以在WordPress后台的“您的主页显示”主页选择文章了,但是却显示所有的文章,又不能搜索,很难找到我们想要的文章,这个时候我们可以将上述代码的第32行~第40行代码修改为:

$posts = get_posts(
array(
'posts_per_page' => - 1,
'orderby' => 'title',
'include' => array(6688),
'order' => 'ASC',
'post_type' => $post_type,
'post_status' => 'publish',
)
);

其中第5行代码的6688就是文章的ID,如果想要显示多篇文章,则在文章ID后面添加英文引号即可,如array(6688,6689,6690)。记得修改为自己想要显示的文章ID。

如果想要显示指定分类的文章,也可以将上述代码的第32行~第40行代码修改为:

$posts = get_posts(
array(
'posts_per_page' => - 1,
'orderby' => 'title',
'category' => 226,
'order' => 'ASC',
'post_type' => $post_type,
'post_status' => 'publish',
)
);

其中第5行代码的226就是文章分类ID,记得修改为想要显示的分类ID即可。

来源:https://boke112.com/post/11751.html 

这篇关于如何让wordpress首页只显示某一篇文章全部内容?在您的主页显示选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/660300

相关文章

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

exfat和ntfs哪个好? U盘格式化选择NTFS与exFAT的详细区别对比

《exfat和ntfs哪个好?U盘格式化选择NTFS与exFAT的详细区别对比》exFAT和NTFS是两种常见的文件系统,它们各自具有独特的优势和适用场景,以下是关于exFAT和NTFS的详细对比... 无论你是刚入手了内置 SSD 还是便携式移动硬盘或 U 盘,都需要先将它格式化成电脑或设备能够识别的「文

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②