需要帮助修改WP页面/帖子滑块插件以转到最后的唯一页面

时间:2016-05-21 14:42:08

标签: php wordpress wordpress-plugin slideshow

我正在使用Theia Post Slider,我希望有人可以查看插件代码的这一部分,告诉我我可以修改哪一部分,以便将其转到一个独特的网址。端。

我尝试在此部分输入它代替$ url:

$button = '<a href="' . $url . '" class="_button _' . $directionName . $class . '">' . $html . '</a>';

但它没有用。看起来应该如此。

我想删除有关检查是否有其他帖子的部分,只是让它直接进入网址,但我不知道该怎么做(超出我的PHP技能)设定)。

在这部分代码的其余部分,我修改的部分靠近底部:

    /*
 * Get a button for a navigation bar.
 * @param direction boolean False = prev; True = next;
 */
public static function get_navigation_barButton( $options, $direction ) {
    global $page, $pages;

    $directionName = $direction ? 'next' : 'prev';
    $url           = TpsMisc::get_post_page_url( $options['currentSlide'] + ( $direction ? 1 : - 1 ) );
    $leftText      = null;
    $rightText     = null;

    // Check if there isn't another page but there is another post.
    $urlIsAnotherPost = ! $url && $options[ $directionName . 'PostUrl' ];
    if ( $urlIsAnotherPost ) {
        $url = $options[ $directionName . 'PostUrl' ];
    }

    // Check what text we should display on the buttons.
    if ( TpsOptions::get( 'post_navigation' ) && ( ( $direction == false && $page == 1 ) || ( $direction == true && $page == count( $pages ) ) ) ) {
        $buttonText = TpsOptions::get( $directionName . '_text_post' );
    } else {
        $buttonText = TpsOptions::get( $directionName . '_text' );
    }

    switch ( TpsOptions::get( 'theme_type' ) ) {
        case 'font':
            $text  = $directionName == 'next' ? TpsOptions::get_font_icon( 'right' ) : TpsOptions::get_font_icon( 'left' );
            $width = 0;

            if ( $directionName == 'next' ) {
                $leftText = $buttonText;
            } else {
                $rightText = $buttonText;
            }
            break;

        case 'classic':
            $text      = $buttonText;
            $leftText  = '';
            $rightText = '';

            if ( $urlIsAnotherPost ) {
                $width = TpsOptions::get( 'button_width_post' );
            } else {
                $width = TpsOptions::get( 'button_width' );
            }
            break;

        default:
            return '';
    }

    $style = $width == 0 ? '' : 'style="width: ' . $width . 'px"';

    $htmlPart1 = '<span class="_1">' . $leftText . '</span><span class="_2" ' . $style . '>';
    $htmlPart2 = '</span><span class="_3">' . $rightText . '</span>';

    // HTML
    $html = $htmlPart1 . $text . $htmlPart2;
    $class = $urlIsAnotherPost ? ' _another_post' : '';
    if ( $url ) {
        $button = '<a href="' . $url . '" class="_button _' . $directionName . $class . '">' . $html . '</a>';
    } else {
        $button = '<span class="_button _' . $directionName . $class . ' _disabled">' . $html . '</span>';
    }

    return $button;
}

1 个答案:

答案 0 :(得分:0)

如果有人想要这样做,结果是在tps.js文件行717中。在URL下面的地方就到这里:

        // Set link.
    if (
        (direction == false && me.options.prevPost && me.currentSlide == 0) ||
        (direction == true && me.options.nextPost && me.currentSlide == me.numberOfSlides - 1)
    ) {
        buttonEl.addClass('_another_post');
        href = 'URL GOES HERE';
    } else {
        buttonEl.removeClass('_another_post');
        if (me.needToRefreshPage()) {
            var slide = me.slides[me.currentSlide + (direction ? 1 : -1)];
            if (slide) {
                href = slide.permalink;
            }
        }
        else {
            href = '#';
        }
    }