黑客Wordpress插件“谷歌日历活动”

时间:2012-11-21 17:22:45

标签: wordpress plugins

我目前正在使用插件Google Calendar Events。我想添加一种功能,供用户选择(通过选择下拉菜单)他们正在查看哪些Feed,然后让日历自动显示所选的Feed。有谁知道如何做到这一点?

我知道您可以使用短代码来选择要显示的Feed,但我不想为每个Feed创建单独的页面,然后指向它们的链接(有10多个Feed,其中一个已添加并删除有规律性,因此为每个单独的Feed手动创建日历是不可行的。

我已将此代码添加到插件中的gce-script.js文件中:

    function changeFeeds(){
    var values = jQuery("#gce-view-feed").val();
    jQuery("#result").replaceWith(values);
}

jQuery("option").click(function(){
    location.reload();
});

jQuery("select").change(changeFeeds);
changeFeeds();

...其中id“gce-view-feed”是选择菜单的id和id“result”是我显示结果的位置。这很好用,除了我如何将该结果传递给插件以便它使用它?

Feed ID由PHP变量$ feed_ids定义。我认为编辑变量的最佳位置是google-calendar-events.php文件中的这行代码:

//Check that any feeds have been added
        if ( is_array( $options ) && ! empty( $options ) ) {
            extract( shortcode_atts( array(
                'id' => '',
                'type' => 'grid',
                'title' => null,
                'max' => 0,
                'order' => 'asc'
            ), $atts ) );

            $no_feeds_exist = true;
            $feed_ids = array();

            if ( '' != $id ) {
                //Break comma delimited list of feed ids into array
                $feed_ids = explode( ',', str_replace( ' ', '', $id ) );

                //Check each id is an integer, if not, remove it from the array
                foreach ( $feed_ids as $key => $feed_id ) {
                    if ( 0 == absint( $feed_id ) )
                        unset( $feed_ids[$key] );
                }

                //If at least one of the feed ids entered exists, set no_feeds_exist to false
                foreach ( $feed_ids as $feed_id ) {
                    if ( isset($options[$feed_id] ) )
                        $no_feeds_exist = false;
                }
            } else {
                foreach ( $options as $feed ) {
                    $feed_ids[] = $feed['id'];
                }

                $no_feeds_exist = false;
            }

但我不知道如何将jQuery值传递给$ feed_ids变量。有没有办法做到这一点?如果没有,是否有另一种方法可以动态选择一个选项,然后将其传递给PHP变量?

0 个答案:

没有答案