我一直在通过一个child theme. 老实说,这是我第一次用WordPress做任何类型的主题工作。
我已经能够将标题permalink更改为我正在链接的链接,并在标题中添加符号,以便有视觉效果让人意识到可能存在不同的行为。(Example post)
我应该使用thematic的过滤器来推动对主题的这些更改,还是应该使用WordPress的过滤器?此外,我如何在RSS提要中添加永久链接,以便人们仍然可以在我的网站上发表评论(很像Dared Fireball)
我一直在做以下工作functions.php
:
/**
* Override the post title logic
*/
function mikewillsthematic_thematic_postheader_posttitle() {
if (has_post_format(\'link\')) {
$posttitle = \'<h2 class="entry-title"><a href="\';
$posttitle .= get_post_meta( get_the_ID(), "post_format_data", true);
$posttitle .= \'" title="Direct link to article" rel="bookmark">\';
$posttitle .= \'∞ \';
$posttitle .= get_the_title();
$posttitle .= "</a></h2>\\n";
} else {
// Handle other post types.
}
return $posttitle;
}
add_filter(\'thematic_postheader_posttitle\', \'mikewillsthematic_thematic_postheader_posttitle\');
/**
* Override the RSS URL
*/
function mikewillsthematic_rss_permalink($permalink) {
global $wp_query;
if($url = get_post_meta($wp_query->post->ID, \'post_format_data\', true)) {
return $url;
}
return $permalink;
}
add_filter(\'the_permalink_rss\', \'mikewillsthematic_rss_permalink\');
/**
* Override the RSS title
*/
function mikewillsthematic_rss_title($title) {
if (has_post_format(\'link\')) {
$posttitle = \'∞ \';
$posttitle .= $title;
} else
$posttitle = $title;
return $posttitle;
}
add_filter(\'the_title_rss\', \'mikewillsthematic_rss_title\');
但我觉得这似乎。。。过分的有更好的方法吗?
最合适的回答,由SO网友:Mike Wills 整理而成
我找到了正确的搜索词how to add content to the RSS feed.
// Add permalink to RSS feed
function mikewillsthematic_postrss($content) {
if(is_feed() && has_post_format(\'link\'))
{
$content = $content.\'<p><a href="\'.get_permalink().\'">Permalink</a></p>\';
}
else {
$content = $content;
}
return $content;
}
add_filter(\'the_excerpt_rss\', \'mikewillsthematic_postrss\');
add_filter(\'the_content\', \'mikewillsthematic_postrss\');
SO网友:helgatheviking
作为自封的主题支持专家,我可以简化您的第一个过滤器:
/**
* Override the post title logic for post format \'link\'
*/
function mikewillsthematic_thematic_postheader_posttitle($posttitle) {
if (has_post_format(\'link\')) {
$posttitle = \'<h2 class="entry-title"><a href="\';
$posttitle .= get_post_meta( get_the_ID(), "post_format_data", true);
$posttitle .= \'" title="Direct link to article" rel="bookmark">\';
$posttitle .= \'∞ \';
$posttitle .= get_the_title();
$posttitle .= "</a></h2>\\n";
}
return $posttitle;
}
add_filter(\'thematic_postheader_posttitle\', \'mikewillsthematic_thematic_postheader_posttitle\');
在将元URL放入链接之前,您可能还想测试它是否存在。我认为你的解决方案看起来并不过分。您想在3个位置更改post permalink,因此我并不奇怪您需要3个过滤器。有点奇怪为什么这不是链接格式的默认行为,但我对post格式还不够精通,不知道WP为什么会这样做。
afaik您不能通过WP过滤帖子标题。当您有解决方案(或之前)时,请在thematic forums: