WordPress:自定义小部件内的摘录

时间:2017-02-20 12:06:07

标签: wordpress

我希望能够通过删除the_excerpt链接来自定义read more输出,但前提是它只在小部件内。

用例场景如下:

在我的网站中,用户可以发布他们的旅行报告。我以两种方式显示这些报告 - PublishedFuturePublished报告的列表出现在我不希望excerpt中的任何更改的页面中,但Future帖子出现在自定义插件的侧边栏中。我也希望excerpt在这里,但没有附加read more链接。

functions.php中的以下功能通过检查read more来删除post_type链接,但无处不在!我希望此链接在普通列表中可见。

function custom_excerpt_more_link($more){
        global $post;
        if($post->post_type == 'travelog') {
            return '..';
        } else {
            return '<a href="' . get_the_permalink() . '" rel="nofollow">&nbsp;[more]</a>';
        }
    }

是否有一个选项可以告诉WordPress只有在小部件内呈现excerpt时才能取出此链接?

希望下面的屏幕截图可能有助于准确解释我想要完成的任务。

enter image description here

{p> excerpt帖子标题为我的第一次白色圣诞节 - 2013年12月的Manali之旅应该有read more链接,而我不想要它在右侧栏中列出的那些。这可能吗?

更新
修改后的代码:

function custom_excerpt_more_link($more){
        if(dynamic_sidebar('upcoming-stories-sidebar')) {
            global $post;
            if ($post->post_type == 'travelog') {
                return '..';
            } else {
                return '<a href="' . get_the_permalink() . '" rel="nofollow">&nbsp;[more]</a>';
            }
        }
        else {
            return '<a href="' . get_the_permalink() . '" rel="nofollow">&nbsp;[more]</a>';
        }
    }

    add_filter('excerpt_more', 'custom_excerpt_more_link');

截图: enter image description here

1 个答案:

答案 0 :(得分:0)

如果使用css display none属性会更好。首先找到帖子包装器;假设自定义帖子类型的包装器为.custom,其css为

.custom a {
     display:none 
}