我在WordPress中有这个插件,我已经对其进行了大量修改。插件的目的最初是显示您告诉它的任何类别的缩略图。截至目前,我已经完成了比这更多的事情。但无论如何,这是插件的短代码..
[categorythumbnaillist 7]
7当然是类别ID。该插件获取您告诉它的任何类别的帖子(即7,3,4)并使用我制作的代码命令它们:
$args=array(
'showposts'=>5,
'category'=> $listCatId[1],
'orderby'=> $categoryThumbnailList_OrderType,
'order'=> $categoryThumbnailList_Order
);
$myposts = get_posts( $args);
现在,我希望插件只显示其中包含“新闻”标签的帖子。所以我像这样做了新闻标签:
$args=array(
'tag' => 'news',
'showposts'=>5,
'category'=> $listCatId[1],
'orderby'=> $categoryThumbnailList_OrderType,
'order'=> $categoryThumbnailList_Order
);
$myposts = get_posts( $args);
如果其中包含“新闻”标签,则会显示5个帖子。但这是问题......
我将在一个页面上多次使用此插件。因此,当我使用上面列出的具有不同类别ID的短代码时,插件不会显示相应类别的帖子,因为除了新闻类别之外没有标有“新闻”的帖子。 :(
要解决此问题,并使插件只显示带有“新闻”标签的新闻帖子,同时仍然正确显示其他类别的帖子...我已经尝试设置一个简单的if / else语句..就像这样:< / p>
$args=array(
'tag' => 'news',
'showposts'=>5,
'category'=> $listCatId[1],
'orderby'=> $categoryThumbnailList_OrderType,
'order'=> $categoryThumbnailList_Order
);
$targs=array(
'showposts'=>5,
'category'=> $listCatId[1],
'orderby'=> $categoryThumbnailList_OrderType,
'order'=> $categoryThumbnailList_Order
);
if ( tag == true ) {
$myposts = get_posts( $args);
}
else {
$myposts = get_posts( $targs);
}
这过滤了新闻帖子只显示标有“新闻”的帖子..但是它没有获得任何其他类别的帖子。 :(
如果有人知道我将如何修复此if / else语句或更改代码以使插件仅显示带有“新闻”标签的新闻帖子,同时仍然正确显示其他类别的帖子,请填写我的内容! :)
答案 0 :(得分:1)
这看起来不对 - 看起来你错过了$
:
if ( tag == true ) {
但我认为在标签的短代码中添加另一个参数会更灵活,如果它存在,请使用它。像这样:
$args = array(
'showposts' => 5,
'category' => $listCatId[1],
'orderby' => $categoryThumbnailList_OrderType,
'order' => $categoryThumbnailList_Order
);
if ($tag) { // tag from your shortcode
$args['tag'] = $tag;
}
$myposts = get_posts( $args);
您可能需要开始命名短代码参数。查看the codex了解详情。