Products
GG网络技术分享 2025-03-18 16:14 8
如何制作wordpress友情链接独立页面?之前百度了很多次,看了不少文章,这里我也把制作的过程总结下:
首先开启友情链接功能
在主题functions.php添加代码,开启链接功能
/**
* 打开友情链接
*/
add_filter(\'pre_option_link_manager_enabled\', \'__return_true\');
添加友情链接页面
一般WordPress主题都会有一个默认页面page.php,这里我们需要做的就是复制page.php改名为page-links.php,这个就是我们的友情链接页面,修改模板名称:
<?php
/*
Template Name: 友情链接
*/
?>
输出链接内容
找到page-links.php中的 the_content() 代码,再下面添加输出链接的代码:
<!-- 友情链接 -->
<div class=\"page-links\">
<?php
function get_the_link_items($id = null)
{
$bookmarks = get_bookmarks(\'orderby=date&category=\' . $id);
$default_ico = \'https://s.w.org/favicon.ico?2\';
$output = \'\';
if (!empty($bookmarks)) {
$output .= \'<ul>\';
foreach ($bookmarks as $bookmark) {
$output .= \'<li><img src=\"\' . $bookmark->link_url . \'/favicon.ico\" onerror=\"javascript:this.src=\\\'\' . $default_ico . \'\\\'\" /><a href=\"\' . $bookmark->link_url . \'\" title=\"\' . $bookmark->link_description . \'\" target=\"_blank\" >\' . $bookmark->link_name . \'</a></li>\';
}
$output .= \'</ul><div class=\"clear\"></div>\';
}
return $output;
}
$linkcats = get_terms(\'link_category\');
if (!empty($linkcats)) {
foreach ($linkcats as $linkcat) {
$result .= \'<h3>\' . $linkcat->name . \'</h3>\';
if ($linkcat->description) $result .= \'<blockquote>\' . $linkcat->description . \'</blockquote>\';
$result .= get_the_link_items($linkcat->term_id);
}
} else {
$result = get_the_link_items();
}
echo $result;
?>
</div>
以上可以获取链接分类下的所有链接,如果无分类,则输出所有链接
内容显示美化
css代码
/* 友情链接 */
.page-links{overflow:hidden;margin:0 0 18px;padding:0;}
.page-links a{color:#555;text-decoration:none;}
.page-links a:hover{color:#069;text-decoration:none;}
.page-links ul{margin:0;padding:0;}
.page-links ul li{
float:left;
width:250px;
line-height:16px;
height:20px;
margin:0 10px 10px 0;
padding:8px;
list-style-type:none;
border:1px solid #ddd;
}
.page-links ul li:hover{background:#f2f2f2;}
.page-links ul li img{width:16px;height:16px;margin:0 5px -2px 0;padding:0;border:none;}
好了,经过以上几步,友情链接独立页面就完成了。
什么是模板呢?默认情况 WordPress是使用主题目录下page.php来作为模板显示页面的,但是有时候我们需要不同的模板来显示页面,比如登录、注册和投稿页面等,这些页面跟普通的页面是有所区别,这时候WordPress提供了页面模板让开发者可以自定义WordPress页面外观甚至功能。
WordPress中是通过自定义栏目来记录页面所使用的模板的,自定义栏目名称:_wp_page_template,值为模板的文件名:
因为这个自定义栏目的名称是以下划线开头的,属于隐藏的自定义栏目,所以你在页面编辑页的自定义栏目中是看不到这个字段的。
我新建了一个登录页面的模板,命名为login.php,并且后台已经有页面在使用这个模板了,那我就可以使用以下函数来获取使用login.php这个模板的页面id:
function get_page_id_from_template($template) { global $wpdb; // 多个页面使用同一个模板我就没辙了$page_id = $wpdb->get_var($wpdb->prepare(\"SELECT `post_id`
FROM `$wpdb->postmeta`, `$wpdb->posts`
WHERE `post_id` = `ID`
AND `post_status` = \'publish\'
AND `meta_key` = \'_wp_page_template\'
AND `meta_value` = %s LIMIT 1;\", $template)); return $page_id;}
//以下是获取使用该模板的页面地址
<a href=\"<?php echo get_permalink(get_page_id_from_template(\'login.php\')) ?>\" >登录</a>
Demand feedback