两种可能性:使用the_content
-筛选,或者在模板中调用它。
您可以将插件扔到文件夹中,或在主题函数中添加一个(或两个)函数。php文件。过滤器仅针对post格式触发link
, 而模板标记可以在循环中更通用地使用。
作为插件
<?php
! defined( \'ABSPATH\' ) AND exit;
/* Plugin Name: (#16365) »kaiser« Get 1st link inside the content */
// As an public API function
function wpse16365_get_content_link( $content = false, $echo = false )
{
if ( ! in_the_loop() )
return;
// allows using this function also for excerpts
! $content AND $content = get_the_content();
$content = preg_match_all( \'/href\\s*=\\s*[\\"\\\']([^\\"\\\']+)/\', $content, $links );
$content = $links[1][0];
$content = make_clickable( $content );
// if you set the 2nd arg to true, you\'ll echo the output, else just return for later usage
$echo AND print $content;
return $content;
}
// As a the_content-filter Callback
function wpse16365_get_content_link_cb( $content )
{
if ( \'link\' !== get_post_format() )
return $content;
$content = preg_match_all( \'/href\\s*=\\s*[\\"\\\']([^\\"\\\']+)/\', $content, $links );
$content = $links[1][0];
return make_clickable( $content );
}
add_filter( \'the_content\', \'wpse16365_get_content_link_cb\' );
这个函数应该回答您的问题。它经过测试,工作正常。