如何将页面ID显示为页面插件名称?

时间:2016-08-16 作者:user2163224

参考号:how to get page id of a page using page slug

我检查了上述答案,但当我将任何代码粘贴到子主题的函数php文件中时,它没有改变任何内容。以下是我使用的代码:

<?php
// For this theme only - not the standard way of enqueing styles as per here: 
// https://wordpress.org/support/topic/adding-child-theme?replies=3

function smallblog_child_scripts() {
wp_enqueue_style( \'smallblog-child\', get_stylesheet_directory_uri() . \'/style.css\' );
}

add_action( \'wp_enqueue_scripts\', \'smallblog_child_scripts\', 20 );

function get_id_by_slug($page_slug) {
    $page = get_page_by_path($page_slug);
    if ($page) {
        return $page->ID;
    } else {
        return null;
    }
} 
?>
页面id仍仅显示。

例如,不显示

class="page page-id-53 page-template-default
我希望它显示:

class="page contact page-template-default //indicating that\'s the contact page
谢谢你的帮助!

1 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

我相信你要找的钩子是body_classpost_class 滤器这些过滤器将允许您删除类或将类推送到一个数组中,该数组将在body 分别标记或后标记。要添加post-slug,我们可以执行以下操作:

/** 
 * Add, Remove, and Modify body classes
 * @note http://wordpress.stackexchange.com/a/236106/7355
 *
 * @param Array $classes
 *
 * @return Array $classes
 */
function theme_body_classes( $classes ) {
    global $post;

    if( is_object( $post ) ) {
        $classes[] = $post->post_name;
        $classes[] = "{$post->post_type}-{$post->post_name}";
    }

    return $classes;
}
add_filter( \'body_class\', \'theme_body_classes\' );

相关推荐

如何将当前用户ID/条目ID插入到短码中?

我想知道是否有人可以帮助我编写函数的代码片段。php。我正在使用一个名为Connections Pro的插件和扩展链接,它将条目连接到wordpress用户。它有一个非常简单的短代码:[连接id=1],其中数字后是条目id($entryID),可以为应显示的单个用户手动设置。我希望它成为登录用户的条目ID。有没有可能有人有主意?