Я использую 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;
}
На тот случай, если кто-то захочет сделать это, он окажется в строке 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 = '#';
}
}
Других решений пока нет …