gpt4 book ai didi

php - 使用 WP 类别帖子列表小部件动态显示特定类别 (WP/PHP)

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:45:23 30 4
gpt4 key购买 nike

我正在尝试在我正在处理的博客上使用类别帖子 (WP-CPL) 插件来按类别过滤“最近的帖子”。基本上,当有人点击博客上的类别名称时,我希望它显示该类别的帖子。这将通过 Life Is Simple 模板的“archives.php”文件实现。

插件的简码是:

[wp_cpl_sc cat_id=40 list_num=4 css_theme=2 sticky_post="79"]

这只是一个示例,其中“cat_id”表示插件将显示的类别。我不想只显示一个类别,我希望它在有人单击链接时显示相应的类别。我怎样才能让插件识别正在请求的类别并显示适当的帖子?

我知道分类标题是:

<?php single_cat_title(); ?>

但是如何以这种方式找到类别 ID 号呢?如果需要编辑,我已经在下面包含了名为“wp_cpl_shortcode.php”的插件文件的 PHP。为了简单起见,我更愿意在网站的实际编码中使用简码。

<?php
/**
* shortcode
* The library of shortcode class
* @author Swashata <swashata4u@gmail.com>
* @subpackage WP Category Post List Plugin
* @version 2.0.0
*/

/**
* The WP CPL shorttag support
* @since 1.1.0
* This was started from the version 1.1.0 and was finished by 2.0.0
*/
class itgdb_wp_cpl_shortcode {
/**
* The wp_cpl_shortcode_handler function
* This function is responsible for converting shortcodes into dynamic contents
* @package WordPress
* @subpackage WordPress Category Post List plugin
* @since 1.1.0
* @param array $atts The attributes passed through the shortcode
* @param string $content The string passed through the shortcode. Used for generating title
* @return string The modified content
*/
public function wp_cpl_shortcode_handler($atts, $content = null) {
/** first extract the attributes */
$op = shortcode_atts(array(
'cat_id' => 1,
'css_theme' => 0,
'is_thumb' => 'true',
'list_num' => 10,
'show_comments' => 'true',
'sort_using' => 1,
'sort_order' => 'asc',
'exclude_post' => '',
'sticky_post' => '',
'show_date' => 'true',
'show_author' => 'true',
'show_excerpt' => 'true',
'excerpt_length' => 150,
'optional_excerpt' => 'false',
'read_more' => __('Continue Reading', itgdb_wp_cpl_loader::$text_domain),
), $atts);

/** Sanitize some of the user datas */
$cat_id = (int) $op['cat_id'];
$i = 0;
/** Done, now the main thing */
include_once itgdb_wp_cpl_loader::$abs_path . '/includes/wp_cpl_output_gen.php';
$output_gen = new itgdb_wp_cpl_output_gen();
return $output_gen->shortcode_output_gen($op);
}
}

很抱歉,如果这个问题被提出来,我还在学习并且认为我今天已经扭曲了我的大脑。感谢您的帮助!


插件页面在这里:

http://wordpress.org/extend/plugins/wp-category-posts-list/

附言我还将把它发布在 wordpress.stackexchange.com 中,我只是想这也许也是一个很好的 PHP 编码问题,可以在这个论坛上提出。


编辑

我尝试了几件事。

第一:

<?php $categoryid = get_the_category($post->ID);
echo do_shortcode( '[wp_cpl_sc cat_id=".$categoryid." list_num=4 css_theme=2 sticky_post="79"]');
?>

这没有做任何事情。它只显示前四个帖子。

第二个(我在 WordPress 中发现了一个不同的 PHP 函数):

<?php $category_current = get_query_var($cat);
echo do_shortcode('[wp_cpl_sc cat_id="$category_current" list_num=4 css_theme=2 sticky_post="79"]');
?>

我从这里开始这个想法http://www.wpsite.net/how-to-get-category-id-current-category/ .我也像网站上所说的那样将其作为 get_query_var('cat') 进行了尝试,但这也没有用。我很接近吗?这是一个轻微的语法问题吗?基本上只需要获取当前类别 ID 号并将其传递到简码的“cat_id”部分。谢谢。

最佳答案

您可以使用 get_the_category($post->ID); 获取当前类别 ID。这将为您提供您正在查看的帖子所分配的类别的 ID。

你如何显示你的插件?您是否在文件中的某处编写了简码?如果是,请尝试 do_shortcode .

关于php - 使用 WP 类别帖子列表小部件动态显示特定类别 (WP/PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420615/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com