wordpress函数如何查询友情链接详情(get_bookmark)

2024年07月08日 建站教程

wordpress如何利用自带函数​查询友情链接详情,下面web建站小编给大家简单介绍一下get_bookmark函数的运用!

函数原型:

get_bookmark( int|stdClass $bookmark, string $output = OBJECT, string $filter = 'raw' ): array|object|null

参数说明:

参数 说明
$bookmark 链接 ID 或 链接对象(需包含link_id字段)
$output 输出格式,默认:OBJECT,即输出是对象。也可以是 ARRAY_A-管理数组,或 ARRAY_N 普通数组。
$filter 过滤方式,默认 ‘raw’。

函数源码:

function get_bookmark( $bookmark, $output = OBJECT, $filter = 'raw' ) {
  global $wpdb;
  
  if ( empty( $bookmark ) ) {
    if ( isset( $GLOBALS['link'] ) ) {
      $_bookmark = & $GLOBALS['link'];
    } else {
      $_bookmark = null;
    }
  } elseif ( is_object( $bookmark ) ) {
    wp_cache_add( $bookmark->link_id, $bookmark, 'bookmark' );
    $_bookmark = $bookmark;
  } else {
    if ( isset( $GLOBALS['link'] ) && ( $GLOBALS['link']->link_id == $bookmark ) ) {
      $_bookmark = & $GLOBALS['link'];
    } else {
      $_bookmark = wp_cache_get( $bookmark, 'bookmark' );
      if ( ! $_bookmark ) {
      	$_bookmark = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->links WHERE link_id = %d LIMIT 1", $bookmark ) );
      	if ( $_bookmark ) {
      	  $_bookmark->link_category = array_unique( wp_get_object_terms( $_bookmark->link_id, 'link_category', array( 'fields' => 'ids' ) ) );
      	  wp_cache_add( $_bookmark->link_id, $_bookmark, 'bookmark' );
      	}
      }
    }
  }
  
  if ( ! $_bookmark ) {
    return $_bookmark;
  }
  
  $_bookmark = sanitize_bookmark( $_bookmark, $filter );
  
  if ( OBJECT === $output ) {
    return $_bookmark;
  } elseif ( ARRAY_A === $output ) {
    return get_object_vars( $_bookmark );
  } elseif ( ARRAY_N === $output ) {
    return array_values( get_object_vars( $_bookmark ) );
  } else {
    return $_bookmark;
  }
}

调用方法:

<?php 
  $bookmark = get_bookmark(10);
  echo $bookmark->link_name; 
?>

本文链接:http://so.lmcjl.com/news/8051/

展开阅读全文
相关内容