有很多方法可以实现这一点,有些方法比其他方法更复杂,有些方法提供的功能比其他方法更多,但这一切都取决于您的使用情况。
目前,最简单的方法是使用,
步骤1)
在编辑后屏幕中,需要创建自定义字段。如果自定义字段框在后期编辑屏幕中不可见,请单击screen options 在屏幕右上角,然后检查Custom Fields 复选框之后Custom Fields 元框将出现在屏幕上。
如有必要,请参阅下面的屏幕截图。
在Custom Field 元框单击Enter New 对于name (元键)的value (元值)输入如下内容read_pdf
.
然后在相邻的value 领域
如有必要,请参阅下面的屏幕截图。
步骤2)
接下来在主题文件中,控制帖子显示的文件,可能是index.php
文件或您的archive.php
(或其他)您需要查找post循环,并用条件语句替换当前的读取更多链接。
实例
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_title(); ?>
<?php the_excerpt(); ?>
<?php if ( get_post_meta($post->ID, \'read_pdf\', true) ) : ?>
//replace read more link to value of read_pdf key if exists
<a href="<?php echo get_post_meta($post->ID, \'pdf_key\', true) ); ?>">
read more
</a>
<?php else : ?>
//show normal read more link if no pdf attached.
<a href="<?php the_permalink(); ?>">
read more
</a>
<?php endif; ?>
<?php endwhile; endif; ?>
上面的代码是模板文件外观的一个示例,但我不能确定。然而,这里的目的是说明如何使用
Custom Fields 在它们的基本形式中,设置一个指向文档的链接,然后让该值替换标准的read more链接(当它通过条件链接存在时)
if/else
陈述
NOTE: Once you enter the key of "read_pdf" once, you do not have to keep on re-entering it. Instead you will be able to select it from a drop down box in the Custom Field meta-box from then onward.
更新
在与上述OP进一步讨论后,用于“2011”主题的解决方案如下所示,但上述解决方案也适用于不通过函数控制其摘录输出的主题。php文件。
在您的功能中。第364行的php文件(二十一主题v1.4)将函数替换为;
function twentyeleven_custom_excerpt_more( $output ) {
global $post;
if ( get_post_meta($post->ID, \'read_pdf\', true) ) {
$output .= \'<a href="\'.get_post_meta($post->ID, \'read_pdf\', true) .\'">read more</a>\';
return $output;
}
else
{
if ( has_excerpt() && ! is_attachment() ) {
$output .= twentyeleven_continue_reading_link();
}
return $output;
}
}
add_filter( \'get_the_excerpt\', \'twentyeleven_custom_excerpt_more\' );