⚠️ 重要提示:使用代码前的准备工作

在修改任何代码之前,请务必备份您的网站!强烈建议您:

wordpress 通用代码 网页
(图片来源网络,侵删)
  1. 使用子主题:在子主题中修改,这样在主题更新时您的代码不会被覆盖。
  2. 使用代码片段插件:如 WPCodeCode Snippets,这些插件可以安全地添加和管理代码,无需直接编辑主题文件,是最推荐的方法。
  3. 了解基本 PHP:虽然大部分代码可以直接用,但了解一点 PHP 基础可以帮助您更好地理解和调试。

网站基本信息输出

这些代码通常用于网站页脚、侧边栏或 <head> 标签中。

功能 代码 说明
<?php bloginfo('name'); ?> 输出网站在“设置 > 常规”中设置的标题。
<?php bloginfo('description'); ?> 输出网站在“设置 > 常规”中设置的副标题/描述。
网站首页 URL <?php echo home_url(); ?> 输出网站首页的完整 URL。
WordPress 版本 <?php bloginfo('version'); ?> 输出当前安装的 WordPress 版本。
主题名称 <?php bloginfo('template_name'); ?> 输出当前激活的主题名称。
主题版本 <?php echo esc_attr(wp_get_theme()->get('Version')); ?> 输出当前主题的版本号。
站点 URL (WordPress 地址) <?php echo site_url(); ?> 输出 WordPress 核心文件所在的 URL,通常和首页 URL 相同。
插件 URL <?php echo plugins_url(); ?> 输出 wp-content/plugins 目录的 URL。

文章/页面内容循环

这是 WordPress 最核心的部分,用于在首页、分类页、存档页等地方显示文章列表。

<?php if ( have_posts() ) : ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <!-- 文章循环开始 -->
        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <!-- 文章标题 -->
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <!-- 文章元信息 (发布时间、作者、分类等) -->
            <div class="entry-meta">
                发布于 <?php echo get_the_date(); ?> | 作者 <?php the_author(); ?> | 分类 <?php the_category(', '); ?>
            </div>
            <!-- 文章摘要或特色图片 -->
            <?php if ( has_post_thumbnail() ) : ?>
                <a href="<?php the_permalink(); ?>">
                    <?php the_post_thumbnail( 'medium' ); ?>
                </a>
            <?php endif; ?>
            <?php the_excerpt(); // 输出文章摘要 ?>
            <!-- 或者使用 the_content(); 输出全文,但需要配合 "more" 标签 -->
            <!-- 阅读更多链接 -->
            <a href="<?php the_permalink(); ?>">阅读更多</a>
        </article>
        <!-- 文章循环结束 -->
    <?php endwhile; ?>
    <!-- 文章分页导航 -->
    <div class="pagination">
        <?php echo paginate_links(); ?>
    </div>
<?php else : ?>
    <p>抱歉,没有找到任何文章。</p>
<?php endif; ?>

常用函数与标签

这些函数通常在文章循环内部或单个文章页面(single.php)中使用。

相关

函数 说明
the_ID() 输出当前文章的 ID。
the_title() 输出文章标题。
the_permalink() 输出文章的永久链接(URL)。
the_content() 输出文章的完整内容。
the_excerpt() 输出文章的摘要,如果没有手动设置摘要,则自动截取内容的前 55 个单词。
get_the_content() 获取文章内容(不直接输出),可以进行处理后再输出。
get_the_excerpt() 获取文章摘要(不直接输出)。
has_post_thumbnail() 判断文章是否有特色图片,返回 truefalse
the_post_thumbnail( $size ) 输出文章的特色图片。$size 可以是 'thumbnail', 'medium', 'large' 或自定义尺寸。
wp_trim_excerpt( $text ) 自定义摘要的长度和“...”后的文本。

文章元信息 (作者、时间、分类等)

函数 说明
the_time( $format ) 输出文章的发布时间。$format 是日期格式,如 Y-m-dF j, Y
get_the_date( $format ) 获取文章日期(不直接输出)。
the_author() 输出文章作者名。
the_author_meta( $field ) 输出作者的更多信息,如 $field = 'description' 输出作者简介。
the_category( $separator ) 输出文章所属的分类。$separator 是分类间的分隔符,如 。
the_tags( $before, $separator, $after ) 输出文章的标签。
edit_post_link( $text, $before, $after ) 输出“编辑”文章的链接。

评论相关

函数 说明
comments_number( $zero, $one, $more ) 输出文章的评论数量。
comments_popup_link( $zero, $one, $more, $css_class, $none ) 输出评论链接。
comment_form() 输出评论表单。
wp_list_comments() 在评论循环中输出评论列表。

functions.php 中添加功能

这是 WordPress 最强大的地方,通过在子主题的 functions.php 文件中添加代码,可以为您的网站添加无限可能。

wordpress 通用代码 网页
(图片来源网络,侵删)

添加自定义菜单支持

// 在 functions.php 中添加
function my_theme_setup() {
    // 注册一个导航菜单位置
    register_nav_menus( array(
        'primary' => '主导航菜单', // 后台显示的名称
        'footer'  => '页脚菜单',
    ) );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

在模板文件中调用菜单:

<?php
wp_nav_menu( array(
    'theme_location' => 'primary', // 对应上面注册的 'primary'
    'menu_class'     => 'main-menu', // 给菜单列表添加的 CSS 类
    'container'      => 'nav',       // 用什么标签包裹菜单,如 'div' 或 'nav'
) );
?>

添加自定义文章类型

// 在 functions.php 中添加
function create_post_type() {
    register_post_type( 'product',
        array(
            'label'        => '产品',
            'public'       => true,
            'has_archive'  => true,
            'menu_icon'    => 'dashicons-cart', // 使用一个图标
            'supports'     => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
        )
    );
}
add_action( 'init', 'create_post_type' );

添加自定义侧边栏

// 在 functions.php 中添加
function my_custom_sidebar() {
    register_sidebar( array(
        'name'          => '主侧边栏',
        'id'            => 'primary-sidebar',
        'description'   => '这个侧边栏显示在博客文章页面。',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );
}
add_action( 'widgets_init', 'my_custom_sidebar' );

在模板文件中调用侧边栏:

<?php dynamic_sidebar( 'primary-sidebar' ); ?>

禁用 WordPress 的 REST API

// 在 functions.php 中添加
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');

修改特色图片尺寸

// 在 functions.php 中添加
if ( function_exists( 'add_image_size' ) ) {
    add_image_size( 'custom-thumb', 300, 200, true ); // 300px 宽, 200px 高, true 表示裁剪
}

使用时:the_post_thumbnail( 'custom-thumb' );

添加自定义代码到 <head><footer>

// 在 functions.php 中添加
// 添加到 <head>
add_action('wp_head', 'my_custom_code_in_head');
function my_custom_code_in_head() {
    ?>
    <!-- 这里可以是 Google Analytics 代码、自定义 CSS 或其他任何 <head> 里的内容 -->
    <meta name="description" content="这是我的自定义网站描述。">
    <style>
        .some-class { color: red; }
    </style>
    <?php
}
// 添加到 </body> 前 (推荐)
add_action('wp_footer', 'my_custom_code_in_footer');
function my_custom_code_in_footer() {
    ?>
    <!-- 这里可以是自定义 JavaScript 或其他页脚内容 -->
    <script>
        console.log('Hello from WordPress footer!');
    </script>
    <?php
}

常用代码片段

自动保存和修订版本管理

减少数据库占用,适合对内容要求不高的网站。

wordpress 通用代码 网页
(图片来源网络,侵删)
// 在 functions.php 中添加
// 禁用自动保存
add_action('wp_print_scripts', 'disable_autosave');
function disable_autosave() {
    wp_deregister_script('autosave');
}
// 限制修订版本数量 (例如只保留3个)
add_filter('wp_revisions_to_keep', 'wp_revisions_to_keep', 10, 2);
function wp_revisions_to_keep($num, $post) {
    return 3;
}

移除 WordPress 版本号

出于安全考虑,建议移除。

// 在 functions.php 中添加
remove_action('wp_head', 'wp_generator');

添加自定义 CSS 类到 <body>

根据不同页面添加不同的类,方便做样式控制。

// 在 functions.php 中添加
add_filter('body_class', 'my_body_classes');
function my_body_classes($classes) {
    // 如果是首页
    if (is_home()) {
        $classes[] = 'homepage';
    }
    // 如果是单篇文章
    if (is_single()) {
        $classes[] = 'single-post';
    }
    // 如果是自定义文章类型 'product'
    if (is_post_type_archive('product')) {
        $classes[] = 'product-archive';
    }
    return $classes;
}

这样,<body> 标签可能会变成 <body class="blog single-post">


通用代码资源

如果您想寻找更多现成的代码片段,可以访问以下网站:

希望这份大全能对您有所帮助!安全第一,善用子主题和代码片段插件。