wordpress页面id判断(wordpress判断用户是否已经登陆)

在WordPress这个强大的内容管理系统(CMS)中,页面ID是一个非常重要的属性。它可以帮助我们更好地管理和操作页面。如何判断一个页面的ID呢?本文将为你详细介绍WordPress页面ID的判断方法,以及在实际操作中的实战技巧。

一、什么是WordPress页面ID?

在WordPress中,每个页面都有一个唯一的ID,这个ID是一个整数。页面ID在WordPress数据库中存储,并且与页面内容紧密相关。通过页面ID,我们可以轻松地获取页面的各种信息,如标题、内容、模板等。

二、如何获取WordPress页面ID?

1. 使用WordPress后台

(1)登录WordPress后台,进入“页面”菜单。

(2)找到目标页面,点击页面名称进入编辑页面。

(3)在编辑页面底部,可以看到页面的ID,通常以“ID:”开头。

2. 使用代码获取

在WordPress主题的模板文件中,我们可以通过以下代码获取页面ID:

“`php

“`

这段代码会输出当前页面的ID。

3. 使用插件获取

市面上有很多插件可以帮助我们获取页面ID,例如“Page ID”插件。安装并激活该插件后,在页面编辑界面会显示页面ID。

三、WordPress页面ID的实战技巧

1. 根据页面ID进行页面操作

在WordPress中,我们可以根据页面ID进行各种操作,如:

* 获取页面标题:使用以下代码获取页面标题:

“`php

“`

* 获取页面内容:使用以下代码获取页面

“`php

“`

* 获取页面模板:使用以下代码获取页面模板:

“`php

“`

2. 使用页面ID进行页面排序

在WordPress后台,我们可以根据页面ID对页面进行排序。进入“页面”菜单,点击“筛选”按钮,选择“ID”,然后输入页面ID,即可筛选出对应页面。

3. 使用页面ID进行页面关联

在某些场景下,我们需要将多个页面关联起来。此时,我们可以通过页面ID实现。例如,在自定义菜单中,我们可以通过页面ID指定菜单项对应的页面。

四、总结

WordPress页面ID是一个非常重要的属性,掌握页面ID的判断方法可以帮助我们更好地管理和操作页面。本文介绍了获取页面ID的几种方法,以及在实际操作中的实战技巧。希望对你有所帮助!

方法 优点 缺点
后台查看 操作简单,直观 需要登录后台
代码获取 适用于各种场景 需要一定的编程基础
插件获取 操作简单,无需编程 可能会占用服务器资源

以上就是关于WordPress页面ID判断的介绍,希望对你有所帮助!如果你还有其他问题,欢迎在评论区留言交流。

如何在WordPress上正确加载Javascript和CSS

现在许多WordPress网站都开始讲要正确加载 jQuery、Javascript和 CSS到你的WordPress网站。今天来一篇更详细讲解如何使用WordPress官方推荐的方式来加载脚本/ CSS的文章。

有两种常用的 add_action钩子可以加载脚本和CSS到WordPress:

init:确保始终为您的网站头部加载脚本和CSS(如果使用home.php,index.php或一个模板文件),以及其他“前端”文章、页面和模板样式。

wp_enqueue_scripts:“适当”的钩子方法,并不总是有效的,根据你的WordPress设置。

下面的所有例子都在WordPress多站点模式、WordPress 3.4.2通过测试(如果不支持后续版本,请留言告知)

加载外部 jQuery库和主题自定义的脚本、样式

下面这个例子在 add_action钩子中使用 init。使用 init有两个原因,一是因为我们正在注销WordPress默认的jQuery库,然后加载谷歌的jQuery库;二是确保在WordPress的头部就加载脚本和CSS。

使用if(!is_admin())是为了确保这些脚本和css只在前端加载,不会再后台管理界面加载。

/** Google jQuery Library, Custom jQuery and CSS Files*/

function myScripts(){

wp_register_script('google',';);

wp_register_script('default', get_template_directory_uri().'/jquery.js');

wp_register_style('default', get_template_directory_uri().'/style.css');

if(!is_admin()){/** Load Scripts and Style on Website Only*/

wp_deregister_script('jquery');

wp_enqueue_script('google');

wp_enqueue_script('default');

wp_enqueue_style('default');

}

}

add_action('init','myScripts');

加载WP默认 jQuery库和主题自定义的脚本、样式

第3行:使用 array(‘jquery’)是为了告诉 WordPress这个 jquery.js是依赖WordPress的jQuery库文件,从而使 jquery.js在WordPress jQuery库文件后加载。

/** Add Custom jQuery and CSS files to a Theme*/

function myScripts(){

wp_register_script('default', get_template_directory_uri().'/jquery.js', array('jquery'),'');

wp_register_style('default', get_template_directory_uri().'/style.css');

if(!is_admin()){/** Load Scripts and Style on Website Only*/

wp_enqueue_script('default');

wp_enqueue_style('default');

}

}

add_action('init','myScripts');

加载 print.css到你的WordPress主题

第 3行:最后的‘print’是媒体屏幕调用,确保 print.css在网站的打印机中的文件加载时才加载。

/** Adding a Print Stylesheet to a Theme*/

function myPrintCss(){

wp_register_style('print', get_template_directory_uri().'/print.css','','','print');

if(!is_admin()){/** Load Scripts and Style on Website Only*/

wp_enqueue_style('print');

}

}

add_action('init','myPrintCss');

使用 wp_enqueue_scripts替换 init

如果你要在文章或页面加载唯一的脚本,那就应该使用 wp_enqueue_scripts替换 init。使用 wp_enqueue_scripts仅仅只会在前台加载脚本和CSS,不会在后台管理界面加载,所以没必要使用!is_admin()判断。

使用 is_single()只在文章加载脚本或CSS

第 3行的#替换为文章的ID就可以让脚本和css只加载到那篇文章。当然,如果直接使用 is_single()(不填ID),就会在所有文章加载脚本和CSS。

/** Adding Scripts To A Unique Post*/

function myScripts(){

if( is_single(#)){/** Load Scripts and Style on Posts Only*/

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('wp_enqueue_scripts','myScripts');

使用 is_page()只在页面加载脚本或CSS

第 3行的#替换为页面的ID就可以让脚本和css只加载到那个页面。当然,如果直接使用 is_single()(不填ID),就会在所有页面加载脚本和CSS。

/** Adding Scripts To A Unique Page*/

function myScripts(){

if( is_page(#)){/** Load Scripts and Style on Pages Only*/

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('wp_enqueue_scripts','myScripts');

使用 admin_enqueue_scripts加载脚本到后台

这个例子将在整个后台管理界面加载脚本和CSS。这个方法不推荐用在插件上,除非插件重建了整个后台管理区。

第 10行使用 admin_enqueue_scripts替换了 init或wp_enqueue_scripts

第 5、6行,如果你要自定义后台管理区,你可以需要禁用默认的WordPress CSS调用。

/** Adding Scripts To The WordPress Admin Area Only*/

function myAdminScripts(){

wp_register_script('default', get_template_directory_uri().'/jquery.js', array('jquery'),'');

wp_enqueue_script('default');

//wp_deregister_style('ie');/** removes ie stylesheet*/

//wp_deregister_style('colors');/** disables default css*/

wp_register_style('default', get_template_directory_uri().'/style.css', array(),'','all');

wp_enqueue_style('default');

}

add_action('admin_enqueue_scripts','myAdminScripts');

加载脚本和CSS到WordPress登录界面

第 6行:我无法弄清楚如何在在登录页面注册/排序 CSS文件,所以这行手动添加样式表。

第 10-14行:用来移除WordPress默认的样式表。

/** Adding Scripts To The WordPress Login Page*/

function myLoginScripts(){

wp_register_script('default', get_template_directory_uri().'/jquery.js', array('jquery'),'');

wp_enqueue_script('default');

?>

<link rel='stylesheet' id='default-css' href='<?php echo get_template_directory_uri().'/style.css';?>' type='text/css' media='all'/>

<?php}

add_action('login_enqueue_scripts','myLoginScripts');

/** Deregister the login css files*/

function removeScripts(){

wp_deregister_style('wp-admin');

wp_deregister_style('colors-fresh');

}

add_action('login_init','removeScripts');

将 jQuery库移动到页脚

你不能将WordPress默认的jQuery库移动到页面底部,但是你可以将自定义的jQuery或其他外部jQuery库(比如Google的)移动到底部。不要将CSS移动到页面底部。

第 3、4行:最后的‘true’告诉WordPress在页面底部加载这些脚本。

/** Moves jQuery to Footer*/

function footerScript(){

wp_register_script('jquery',(“”), false,'', true);

wp_register_script('default', get_template_directory_uri().'/jquery.js', false,'', true);

if(!is_admin()){/** Load Scripts and Style on Website Only*/

wp_deregister_script('jquery');

wp_enqueue_script('jquery');

wp_enqueue_script('default');

}

}

add_action('init','footerScript');

根据不用的用户角色和功能加载jQuery和CSS

如果你的网站有作者、编辑和其他管理员,你可能需要通过 jQuery来为他们显示不同的信息。你需要使用 current_user_can确定登录的用户的角色和功能。

下面三个例子中,如果用户已经登录,将在整个网站加载这些脚本和CSS。使用!is_admin()包装 enqueue_script确保只在前台加载,或者在 add_action使用 admin_enqueue_scripts就可以确保只在后台管理区加载。

为可以“编辑文章”的管理员加载脚本和CSS

只对超级管理员和网站管理员生效

/** Add CSS& jQuery based on Roles and Capabilities*/

function myScripts(){

if( current_user_can('edit_posts')){

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('init','myScripts');

为所有登录用户加载脚本和CSS

/** Admins/ Authors/ Contributors/ Subscribers*/

function myScripts(){

if( current_user_can('read')){

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('init','myScripts');

为管理员以外的已登录用户加载脚本和CSS

/** Disable for Super Admins/ Admins enable for Authors/ Contributors/ Subscribers*/

function myScripts(){

if( current_user_can('read')&&!current_user_can('edit_users')){

/** Add jQuery and/or CSS Enqueue*/

}

}

add_action('init','myScripts');

最后的提示

上面的很多例子如果使用相同的add_action,就可以被合并成一个单一的函数。

换句话说,您可以使用多个 if语句在一个函数中分裂了你的脚本和CSS调用,如:if_admin!if_admin,is_page,is_single和current_user_can的,因为每次使用相同的add_action的init。

如何开发一个WordPress插件

在开始之前,需要注意三件事情

I、给插件取一个个性化的名字,越个性化越好,以防和其他插件重名冲突。

II、代码里面,一定要包含注释,不为自己,也要为想修改你代码的别人想想。

III、尽量用最新版的 WordPress进行开发和测试。

插件名称和插件结构

一般来说,都是在 wp-content\plugins目录下建立一个文件夹,文件夹名就是插件的名称,我们插件名字为”copyright_plugin”,文件结构如下。

\wp-content\plugins\copyright_plugin下有copyright_plugin.php和readme.txt

这里的 readme.txt文件中包含了一些插件的介绍,使用说明等信息,主要是提交到 WordPress官方网站时候用到的,可以参考他们给的模板,另外还有插件截图预览的功能,需要另外添加图片,但是我们现在是练习,不需要提交到官网,所以暂时先不涉及这些。

插件的核心

总的来说,插件的核心是两个 function,用来添加 Hooks(中文译为钩子)

add_action($hookname,$callbackfunction)

add_filter($hookname,$callbackfunction)

这两个方法相当重要,几乎所有的插件都要用到他们。

Actions,我理解就是 wordpress核心代码预留的一些特殊的切入点,或者说是在执行一些特定事件时候发生,例如文章发布时,或者访客留言时触发。

Filters,应该就是 wordpress执行时,对数据传输过程的一种过滤机制,例如当文章保存到数据库的过程,或者文章从事数据库中取出,展现到浏览器中的这个过程。

我们今天要制作的插件,应该是用 Filters,因为我们要在文章显示在浏览器之前,在最后面加上一段字符窜,用来显示版权信息,后面添加菜单项的时候,也要用到 Actions。

插件概要信息

用文本编辑器打开 copyright-plugin.php文件,输入如下信息:

<?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description:此插件将在文章正文最下面,显示一行版权信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

?>

保存好文件,然后登录 WordPress后台,打开插件菜单,应该就可以看到这个插件,已经显示在插件列表里面了,并且可以启用这个插件试试,不过没有任何效果,因为到目前为止,这个插件还没有实现任何功能。

为插件实现功能

修改copyright_plugin.php

<?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description:此插件将在文章正文最下面,显示一行版权信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

/*此插件将在文章正文最下面,显示一行版权信息*/

function display_copyright(){

return”<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>”;

}

?>

保存好这个文件,然后打开正在用的主题文件夹,打开index.php文件夹,找到 get_template_part('content', get_post_format());并在下面添加如下代码

if(function_exists('display_copyright')){

echo display_copyright();

}

function_exists是判断 display_copyright函数是否存在,因为当插件停用的时候,主题代码里面是找不到这个函数的,所以要判断一下,防止出错。

然后在 wordpress后台启用该插件,再打开首页看看效果吧!

至此,这段代码,应该可以勉强算是一个插件了。之所以说勉强,是因为这个插件存在一个问题,需要手工去修改主题代码,如果用户换了主题的话,需要在新主题里面再次修改代码,这个不好。

改良插件

还记得我们前面说过的 Hooks(钩子)吗,我们要开始用 Filter钩子了!

代码修改copyright_plugin.php如下:

<?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description:此插件将在文章正文最下面,显示一行版权信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

add_filter('the_content','display_copyright');

/*这个函数在日志正文结尾处添加一段版权信息,并且只在首页页面才添加*/

function display_copyright($content){

if( is_home())

$content=$content.”<p style='color:red'>本站点所有文章均为原创,转载请指明出处!</p>”;

return$content;

}

?>

参看以上代码,其中 the_content是钩子的名字,display_copyright是回调函数名称。这样一来,只要启用插件就可以实现功能,无需去修改主题了,请把刚才在index.php文件中添加的代码删掉,然后启用插件,看看效果吧,显示效果应该是一样的,无论怎么换主题,还是会自动显示版权信息。

is_home是判断是不是主页

更进一步

至此一个真正的插件算是完成了。但是此插件将版权信息直接写在代码里,如果用户想自定义版权信息的话,需要修改插件的源代码,仍然不方便,所以此插件仍需改进。其实,我们可以在 WordPress后台中为插件单独添加一个菜单和页面,用户可以在这里来自定义设置设置版权信息,信息可以保存在数据库里面。

先附上完整代码,后面会做说明

<?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description:此插件将在文章正文最下面,显示一行版权信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

/*注册激活插件时要调用的函数*/

register_activation_hook( __FILE__,'display_copyright_install');

/*注册停用插件时要调用的函数*/

register_deactivation_hook( __FILE__,'display_copyright_remove');

function display_copyright_install(){

/*在数据库的 wp_options表中添加一条记录,第二个参数为默认值*/

add_option(“display_copyright_text”,”<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>”,'','yes');

}

function display_copyright_remove(){

/*删除 wp_options表中的对应记录*/

delete_option('display_copyright_text');

}

if( is_admin()){

/*利用 admin_menu钩子,添加菜单*/

add_action('admin_menu','display_copyright_menu');

}

function display_copyright_menu(){

/* add_options_page($page_title,$menu_title,$capability,$menu_slug,$function);*/

/*页名称,菜单名称,访问级别,菜单别名,点击该菜单时的回调函数(用以显示设置页面)*/

add_options_page('Set Copyright','Copyright Menu','administrator','display_copyright','display_copyright_html_page');

}

function display_copyright_html_page(){

?>

<div>

<h2>Set Copyright</h2>

<form method=”post” action=”options.php”>

<?php/*下面这行代码用来保存表单中内容到数据库*/?>

<?php wp_nonce_field('update-options');?>

<p>

<textarea

name=”display_copyright_text”

id=”display_copyright_text”

cols=”40″

rows=”6″><?php echo get_option('display_copyright_text');?></textarea>

</p>

<p>

<input type=”hidden” name=”action” value=”update”/>

<input type=”hidden” name=”page_options” value=”display_copyright_text”/>

<input type=”submit” value=”Save” class=”button-primary”/>

</p>

</form>

</div>

<?php

}

add_filter('the_content','display_copyright');

/*这个函数在日志正文结尾处添加一段版权信息,并且只在首页页面才添加*/

function display_copyright($content){

if( is_home())

$content=$content. get_option('display_copyright_text');

return$content;

}

?>

说明:

以下代码自己要是在启用插件时和停用插件时调用,注释中已经写得很详细了。

/*注册激活插件时要调用的函数*/

register_activation_hook( __FILE__,'display_copyright_install');

/*注册停用插件时要调用的函数*/

register_deactivation_hook( __FILE__,'display_copyright_remove');

function display_copyright_install(){

/*在数据库的 wp_options表中添加一条记录,第二个参数为默认值*/

add_option(“display_copyright_text”,”<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>”,'','yes');

}

function display_copyright_remove(){

/*删除 wp_options表中的对应记录*/

delete_option('display_copyright_text');

}

添加菜单和页面的代码如下:

if( is_admin()){

/*利用 admin_menu钩子,添加菜单*/

add_action('admin_menu','display_copyright_menu');

}

function display_copyright_menu(){

/* add_options_page($page_title,$menu_title,$capability,$menu_slug,$function);*/

/*页名称,菜单名称,访问级别,菜单别名,点击该菜单时的回调函数(用以显示设置页面)*/

add_options_page('Set Copyright','Copyright Menu','administrator','display_copyright','display_copyright_html_page');

}

至此,已经可以在后台看到菜单项了,但是点击的话,还会出错,因为还没有添加对应的页面(如何自定义添加后台菜单位置)

下面开始添加页面,主要代码如下:

function display_copyright_html_page(){

?>

<div>

<h2>Set Copyright</h2>

<form method=”post” action=”options.php”>

<?php/*下面这行代码用来保存表单中内容到数据库*/?>

<?php wp_nonce_field('update-options');?>

<p>

<textarea

name=”display_copyright_text”

id=”display_copyright_text”

cols=”40″

rows=”6″><?php echo get_option('display_copyright_text');?></textarea>

</p>

<p>

<input type=”hidden” name=”action” value=”update”/>

<input type=”hidden” name=”page_options” value=”display_copyright_text”/>

<input type=”submit” value=”Save” class=”button-primary”/>

</p>

</form>

</div>

<?php

}

现在再去点击刚才新加的菜单,可以显示出来一个页面了,我们可以在这里设置版权信息文本。

另外还有如下代码要修改

/*这个函数在日志正文结尾处添加一段版权信息,并且只在首页页面才添加*/

function display_copyright($content){

if( is_home())

$content=$content. get_option('display_copyright_text');

return$content;

}

将原来的静态化文本,改成动态的,之所以要这么改,是因为我们已经将数据存到数据库里面了,这里要从数据库里面取出数据。

如何做好Wordpress的SEO优化(四):URL优化篇

很多使用Wordpress建站的小白们在建立好博客之后,就乐呵呵的开始写文章了,但是我不得不好心的提醒一下各位小白们,你们在写文章之前,有做好URL的优化吗?你们知道URL如果设置不好,会对网站SEO有多大的影响吗?

被忽略的URL优化

我对于URL的优化有一个观点:其他优化都可以不急着做,但是URL的优化必须一开始建站就做。

URL设置错误会被判断为网站作弊

众所周知,搜索引擎对于URL的判断是有唯一性的,也就是说,哪怕你是同一个页面,只要你的URL差了一个符号,搜索引擎就会认为这是两个完全不同的页面。

那这意味着什么呢?这意味着如果你的网站一开始没有做好URL优化,之后再对网站的URL进行改动的时候,搜索引擎会认为你网站原本所有的页面都被删除

了,并且出现了大量的重复页面,甚至会被判断为采集站点!而搜索引擎对于突然出现大量404页面以及采集站点的打击是很严格的,只要你的URL改动了没有

做好处理,那么你的网站将会引来灭顶之灾。

如何做URL优化呢?

读到这里,相信大家比较着急了,那么下面我会给出各位一整套的wordpress的URL优化方案:

1、设置固定链接:进入后台—设置—固定链接—常用设置—自定义结构,修改为/%category%/%post_id%.html

为什么要这样设置呢,因为这样的URL结构是最清晰并且简短的,有人会问了,为什么要URL尽量的短呢?呵呵,这是我的经验之谈,当你的URL

简短的时

候,会更容易被客户记忆;并且在推广的时候,不会出现链接比你推广的文字还要多;相信大家肯定都看过淘宝的链接,那一大串的字母着实让人反感。

2、使用WP

No

Category

Base:如果你不使用WP

No

Category

Base插件,会发现URL中会多出烦人的/category字符,使用该插件,将可以把这烦人的符号去掉,还你一个简洁的URL。插件安装方式:后台—

插件—安装插件—搜索WP

No

Category

Base—现在安装。

3、分类目录的别名尽量取短一些:比如我优化的网站,会将目录的别名都控制在1~2个字母,这样会使得我内页的网址更加简洁。比如在线提问的目录,我们可

以设置它的别名为q

这样的URL是不是很清爽呢?

比如我优化的网站就是用了以上的优化方式,大家可以看看我的URL是否都很简洁,用户体验好,而且便于推广和记忆。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享