Shortcode in php

4 replies·opened Oct 11, 2016
K
koelnermusikakademieOct 11, 2016

Dear Team,

as I understand, the portfolio takes the content from the .php when used in page-ajax.

Is it possible to use a shortcode eg. tabs in a .php?
I am trying to add some tabs there but they don´t work properly. Other shortcodes like accordeon will not work either.

I have attached my .php file. Could you please have a look?

Best Regards
Asterios

K
koelnermusikakademieOct 11, 2016

Ok I see that I can´t upload the file so here is the code:

<?php

$nextid = isset( $_POST['portnext'] ) ? $_POST['portnext'] : '';
$previd = isset( $_POST['portprev'] ) ? $_POST['portprev'] : '';
$postid = isset( $_POST['portid'] ) ? $_POST['portid'] : '';

?>

<div id="portfolio-ajax-single" class="clearfix">

	<div id="portfolio-ajax-title" style="position: relative;">
		<h2>Single Item with Image</h2>
		<div id="portfolio-navigation">
			<?php if( $previd ){ ?><a href="#">"><i class="icon-angle-left"></i></a><?php } ?>
			<?php if( $nextid ){ ?><a href="#">"><i class="icon-angle-right"></i></a><?php } ?>
			<a href="#"><i class="icon-line-cross"></i></a>
		</div>
	</div>

	<div class="line line-sm topmargin-sm"></div>

	<!-- Portfolio Single Image
	============================================= -->
	<div class="col_two_fifth portfolio-single-image nobottommargin">
		<a href="#"><img src="images/portfolio/single/1.jpg" alt="" /></a>
	</div><!-- .portfolio-single-image end -->

	<!-- Portfolio Single Content
	============================================= -->
	<div class="col_three_fifth portfolio-single-content col_last nobottommargin">

		<!-- Portfolio Single - Description
		============================================= -->
		<div class="tabs tabs-bordered clearfix" id="tab-2">

							<ul class="tab-nav clearfix">
								<li><a href="#tabs-5"><i class="icon-home2 norightmargin"></i></a></li>
								<li><a href="#tabs-6">Nunc tincidunt</a></li>
								<li><a href="#tabs-7">Proin dolor</a></li>
								<li class="hidden-phone"><a href="#tabs-8">Aenean lacinia</a></li>
							</ul>

							<div class="tab-container">

								<div class="tab-content clearfix" id="tabs-5">
									Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.
								</div>
								<div class="tab-content clearfix" id="tabs-6">
									Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.
								</div>
								<div class="tab-content clearfix" id="tabs-7">
									<p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p>
									Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.
								</div>
								<div class="tab-content clearfix" id="tabs-8">
									Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.
								</div>

							</div>

						</div>

		<div class="line"></div>

		<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis, dolores, facere, corrupti delectus ex quidem adipisci tempore.</p>
		<p>Illum molestias cupiditate eveniet dolore obcaecati voluptatibus est quos eos id recusandae officia. Cupiditate, voluptates quibusdam ipsum vel corporis laboriosam id est doloremque.</p>
		<!-- Portfolio Single - Description End -->

		<div class="line" style="margin: 40px 0;"></div>

		<!-- Portfolio Single - Meta
		============================================= -->
		<ul class="portfolio-meta bottommargin">
			<li><span><i class="icon-user"></i>Created by:</span> John Doe</li>
			<li><span><i class="icon-calendar3"></i>Completed on:</span> 17th March 2014</li>
			<li><span><i class="icon-lightbulb"></i>Skills:</span> HTML5 / PHP / CSS3</li>
			<li><span><i class="icon-link"></i>Client:</span> <a href="#">Google</a></li>
		</ul>
		<!-- Portfolio Single - Meta End -->

		<!-- Portfolio Single - Share
		============================================= -->
		<div class="si-share clearfix">
			<span>Share:</span>
			<div>
				<a href="#">
					<i class="icon-facebook"></i>
					<i class="icon-facebook"></i>
				</a>
				<a href="#">
					<i class="icon-twitter"></i>
					<i class="icon-twitter"></i>
				</a>
				<a href="#">
					<i class="icon-pinterest"></i>
					<i class="icon-pinterest"></i>
				</a>
				<a href="#">
					<i class="icon-gplus"></i>
					<i class="icon-gplus"></i>
				</a>
				<a href="#">
					<i class="icon-rss"></i>
					<i class="icon-rss"></i>
				</a>
				<a href="#">
					<i class="icon-email3"></i>
					<i class="icon-email3"></i>
				</a>
			</div>
		</div>
		<!-- Portfolio Single - Share End -->

	</div><!-- .portfolio-single-content end -->

</div>
S
SemiColonWebSTAFFOct 12, 2016

Hello,

Since you are using a jQuery Widget inside the AJAX Content, it does not get initialized. So we will need to simply re-initialize the jQuery Function in the js/functions.js File to make this work. Please add the following code in the js/functions.js File replacing the Entire openItem: function() Function Block:

openItem: function(){
	var noOfImages = $portfolioDetails.find('img').length;
	var noLoaded = 0;

	if( noOfImages > 0 ) {
		$portfolioDetails.find('img').on('load', function(){
			noLoaded++;
			var topOffsetScroll = SEMICOLON.initialize.topScrollOffset();
			if(noOfImages === noLoaded) {
				$portfolioDetailsContainer.css({ 'display': 'block' });
				$portfolioDetails.addClass('portfolio-ajax-opened');
				$portfolioAjaxLoader.fadeOut();
				var t=setTimeout(function(){
					SEMICOLON.widget.loadFlexSlider();
					SEMICOLON.initialize.lightbox();
					SEMICOLON.initialize.resizeVideos();
					SEMICOLON.widget.masonryThumbs();
					SEMICOLON.widget.tabs();
					SEMICOLON.widget.accordions();
					$('html,body').stop(true).animate({
						'scrollTop': $portfolioDetails.offset().top - topOffsetScroll
					}, 900, 'easeOutQuad');
				},500);
			}
		});
	} else {
		var topOffsetScroll = SEMICOLON.initialize.topScrollOffset();
		$portfolioDetailsContainer.css({ 'display': 'block' });
		$portfolioDetails.addClass('portfolio-ajax-opened');
		$portfolioAjaxLoader.fadeOut();
		var t=setTimeout(function(){
			SEMICOLON.widget.loadFlexSlider();
			SEMICOLON.initialize.lightbox();
			SEMICOLON.initialize.resizeVideos();
			SEMICOLON.widget.masonryThumbs();
			SEMICOLON.widget.tabs();
			SEMICOLON.widget.accordions();
			$('html,body').stop(true).animate({
				'scrollTop': $portfolioDetails.offset().top - topOffsetScroll
			}, 900, 'easeOutQuad');
		},500);
	}
},

This will definitely fix your issue. Let us know if we can help you with anything else or if you find any further issues.

K
koelnermusikakademieOct 12, 2016

It feels so good when things work...

Thank you very much!

Best Regards
Asterios

Have the same question, or something new?

Sign in to the Canvas dashboard to reply or open your own topic. Canvas owners get direct help from the SemiColonWeb team.

Reply on the dashboard