Нужна помощь в изменении плагина WP Page / Post Slider для перехода на уникальную страницу в конце

Я использую Theia Post Slider, и я надеялся, что кто-нибудь может взглянуть на эту часть кода плагина, чтобы сказать мне, какую часть я могу изменить, чтобы заставить его перейти к уникальному URL в конце.

Я попытался ввести его вместо $ url в этой части:

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

Но это не сработало. Похоже, так и должно быть.

Я хотел бы просто удалить часть о проверке, если есть еще один пост, и просто направить его прямо на URL, но я не уверен, как это сделать (помимо моего набора навыков 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;
}

0

Решение

На тот случай, если кто-то захочет сделать это, он окажется в строке 717 файла tps.js. Ниже, где написано, 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 = '#';
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]