获取定制分类的每个实例的Term_id

时间:2014-01-13 作者:jedifunk

我正在构建一个自定义图像滑块。

我有一个名为“slide”的自定义帖子类型和一个名为“slideshows”的关联自定义分类法。

创建新的“幻灯片放映”时,它会添加到数据库中名为wp\\u slideshowsmeta的自定义表中,其中包含“meta\\u id、slideshows\\u id、meta\\u key和meta\\u value”列。

每个幻灯片都有自己的设置页面,使用“slideshows\\u add\\u form\\u fields”和“slideshows\\u edit\\u form\\u fields”。

为了调用幻灯片,我创建了一个函数(\'gps\\U slider()\'),该函数放置在模板文件中,您希望幻灯片显示的位置。它有一个参数,即幻灯片名称。

一切都很好。。。它加载适当的幻灯片和功能。但是,所有幻灯片都使用第一个幻灯片的设置。

我需要将幻灯片名称传递给我的函数,该函数使用“wp\\u localize\\u script”将设置传递给javascript。

我猜这可能是一个foreach循环,但似乎看不到如何构造它。

非常感谢您的帮助。

布莱斯

1 个回复
最合适的回答,由SO网友:Milo 整理而成

这种结构有点奇怪。但你的主要问题是wp_enqueue_scripts 在调用之前运行操作gps_slider() 可能发生。将脚本本地化挂钩到wp_footer 操作,因此页面中的幻灯片显示数据已经存在并已输出。此外,您还必须将幻灯片数据设置为一组数组,以便可以分别传递每个数组的设置。

$data = array();
$data[$name] = array(
    \'gpsslidermode\' => $slider_mode,
    \'gpssliderspeed\' => $slider_speed
);
wp_localize_script(\'gps-slider_script\', \'gpsslidersettings\', $data);
此外,为什么不将选项表用于幻灯片放映数据,并将其键入幻灯片放映ID?除了为自己创建更多的工作之外,您似乎没有对无法用内置核心表复制的自定义表执行任何操作。至少只需将所有幻灯片元保存在序列化数组中的一行中,并从每个幻灯片加载中剪切8个数据库查询。

EDIT-

function gps_slider( $slideshow = \'\' ) {
    include(\'lib/gps-slider-output.php\');
    global $slideshows;
    $slideshows[$slideshow] = array(
        // fetch and insert your settings data here
        \'gpsslidermode\' => $slider_mode,
        \'gpssliderspeed\' => $slider_speed,
        // etc..
    );
}

function gps_slider_localize(){
    global $slideshows;
    wp_localize_script(\'gps-slider_script\', \'gpsslidersettings\', $slideshows);
}
add_action( \'wp_footer\', \'gps_slider_localize\' );

结束

相关推荐

PHP Syntax getting PHP terms

我试图在这里理解php语法,因此我只能显示当前分类术语的相关产品。我希望$args过滤器“product\\u brand”能够动态获取当前产品术语。所以我需要一种方法来获取当前产品术语的段塞。我已经试过了,但它不起作用,而且返回了不止一个学期。$mjrelatedproducts = get_brands( $post->ID )->slug;$args = apply_filters(\'woocommerce_related_products_args\', array(