This commit is contained in:
2025-06-08 20:07:38 +09:00
parent 3b2966ebe2
commit a372bb62c7
2479 changed files with 1059113 additions and 1057157 deletions

View File

@@ -1,61 +1,61 @@
<?php
/**
* The template for displaying 404 pages (not found)
*
* @link https://codex.wordpress.org/Creating_an_Error_404_Page
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<section class="error-404 not-found">
<header class="page-header">
<h1 class="error-code"><?php _e( "404", 'popularfx' ); ?></h1>
<h1 class="page-title"><?php esc_html_e( "Sorry we couldn't find that page.", 'popularfx' ); ?></h1>
</header><!-- .page-header -->
<div class="page-content">
<p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try one of the links below or a search?', 'popularfx' ); ?></p>
<?php
get_search_form();
the_widget( 'WP_Widget_Recent_Posts' );
?>
<div class="widget widget_categories">
<h2 class="widgettitle"><?php esc_html_e( 'Most Used Categories', 'popularfx' ); ?></h2>
<ul>
<?php
wp_list_categories(
array(
'orderby' => 'count',
'order' => 'DESC',
'show_count' => 1,
'title_li' => '',
'number' => 10,
)
);
?>
</ul>
</div><!-- .widget -->
<?php
/* translators: %1$s: smiley */
$popularfx_archive_content = '<p>' . sprintf( esc_html__( 'Try looking in the monthly archives. %1$s', 'popularfx' ), convert_smilies( ':)' ) ) . '</p>';
the_widget( 'WP_Widget_Archives', 'dropdown=1', "after_title=</h2>$popularfx_archive_content" );
the_widget( 'WP_Widget_Tag_Cloud' );
?>
</div><!-- .page-content -->
</section><!-- .error-404 -->
</main><!-- #main -->
<?php
get_footer();
<?php
/**
* The template for displaying 404 pages (not found)
*
* @link https://codex.wordpress.org/Creating_an_Error_404_Page
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<section class="error-404 not-found">
<header class="page-header">
<h1 class="error-code"><?php _e( "404", 'popularfx' ); ?></h1>
<h1 class="page-title"><?php esc_html_e( "Sorry we couldn't find that page.", 'popularfx' ); ?></h1>
</header><!-- .page-header -->
<div class="page-content">
<p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try one of the links below or a search?', 'popularfx' ); ?></p>
<?php
get_search_form();
the_widget( 'WP_Widget_Recent_Posts' );
?>
<div class="widget widget_categories">
<h2 class="widgettitle"><?php esc_html_e( 'Most Used Categories', 'popularfx' ); ?></h2>
<ul>
<?php
wp_list_categories(
array(
'orderby' => 'count',
'order' => 'DESC',
'show_count' => 1,
'title_li' => '',
'number' => 10,
)
);
?>
</ul>
</div><!-- .widget -->
<?php
/* translators: %1$s: smiley */
$popularfx_archive_content = '<p>' . sprintf( esc_html__( 'Try looking in the monthly archives. %1$s', 'popularfx' ), convert_smilies( ':)' ) ) . '</p>';
the_widget( 'WP_Widget_Archives', 'dropdown=1', "after_title=</h2>$popularfx_archive_content" );
the_widget( 'WP_Widget_Tag_Cloud' );
?>
</div><!-- .page-content -->
</section><!-- .error-404 -->
</main><!-- #main -->
<?php
get_footer();

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +1,20 @@
popularfx
===
This is a starter theme called `popularfx`. PopularFX is a very light weight theme meant for making beautiful websites with Pagelayer. Try turning this theme into the next, most awesome, WordPress theme / website out there !
* Licensed under LGPLv2.1 :) Use it to make something cool !
Installation
---------------
### Requirements
`popularfx` requires the following dependencies:
- [Pagelayer](https://pagelayer.com/)
- [WordPress](https://wordpress.org/)
### Quick Start
popularfx
===
This is a starter theme called `popularfx`. PopularFX is a very light weight theme meant for making beautiful websites with Pagelayer. Try turning this theme into the next, most awesome, WordPress theme / website out there !
* Licensed under LGPLv2.1 :) Use it to make something cool !
Installation
---------------
### Requirements
`popularfx` requires the following dependencies:
- [Pagelayer](https://pagelayer.com/)
- [WordPress](https://wordpress.org/)
### Quick Start
Just install and activate

View File

@@ -1,51 +1,51 @@
<?php
/**
* The template for displaying archive pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
the_archive_description( '<div class="archive-description">', '</div>' );
?>
</header><!-- .page-header -->
<?php
/* Start the Loop */
while ( have_posts() ) :
the_post();
/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
get_template_part( 'template-parts/content', get_post_type() );
endwhile;
the_posts_navigation();
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();
<?php
/**
* The template for displaying archive pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
the_archive_description( '<div class="archive-description">', '</div>' );
?>
</header><!-- .page-header -->
<?php
/* Start the Loop */
while ( have_posts() ) :
the_post();
/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
get_template_part( 'template-parts/content', get_post_type() );
endwhile;
the_posts_navigation();
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();

View File

@@ -1,77 +1,77 @@
<?php
/**
* The template for displaying comments
*
* This is the template that displays the area of the page that contains both the current comments
* and the comment form.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
/*
* If the current post is protected by a password and
* the visitor has not yet entered the password we will
* return early without loading the comments.
*/
if ( post_password_required() ) {
return;
}
?>
<div id="comments" class="comments-area">
<?php
// You can start editing here -- including this comment!
if ( have_comments() ) :
?>
<h2 class="comments-title">
<?php
$popularfx_comment_count = get_comments_number();
if ( '1' === $popularfx_comment_count ) {
printf(
/* translators: 1: title. */
esc_html__( 'One thought on &ldquo;%1$s&rdquo;', 'popularfx' ),
'<span>' . wp_kses_post( get_the_title() ) . '</span>'
);
} else {
printf(
/* translators: 1: comment count number, 2: title. */
esc_html( _nx( '%1$s thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', $popularfx_comment_count, 'comments title', 'popularfx' ) ),
number_format_i18n( $popularfx_comment_count ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'<span>' . wp_kses_post( get_the_title() ) . '</span>'
);
}
?>
</h2><!-- .comments-title -->
<?php the_comments_navigation(); ?>
<ol class="comment-list">
<?php
wp_list_comments(
array(
'style' => 'ol',
'short_ping' => true,
)
);
?>
</ol><!-- .comment-list -->
<?php
the_comments_navigation();
// If comments are closed and there are comments, let's leave a little note, shall we?
if ( ! comments_open() ) :
?>
<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'popularfx' ); ?></p>
<?php
endif;
endif; // Check for have_comments().
comment_form();
?>
</div><!-- #comments -->
<?php
/**
* The template for displaying comments
*
* This is the template that displays the area of the page that contains both the current comments
* and the comment form.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
/*
* If the current post is protected by a password and
* the visitor has not yet entered the password we will
* return early without loading the comments.
*/
if ( post_password_required() ) {
return;
}
?>
<div id="comments" class="comments-area">
<?php
// You can start editing here -- including this comment!
if ( have_comments() ) :
?>
<h2 class="comments-title">
<?php
$popularfx_comment_count = get_comments_number();
if ( '1' === $popularfx_comment_count ) {
printf(
/* translators: 1: title. */
esc_html__( 'One thought on &ldquo;%1$s&rdquo;', 'popularfx' ),
'<span>' . wp_kses_post( get_the_title() ) . '</span>'
);
} else {
printf(
/* translators: 1: comment count number, 2: title. */
esc_html( _nx( '%1$s thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', $popularfx_comment_count, 'comments title', 'popularfx' ) ),
number_format_i18n( $popularfx_comment_count ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'<span>' . wp_kses_post( get_the_title() ) . '</span>'
);
}
?>
</h2><!-- .comments-title -->
<?php the_comments_navigation(); ?>
<ol class="comment-list">
<?php
wp_list_comments(
array(
'style' => 'ol',
'short_ping' => true,
)
);
?>
</ol><!-- .comment-list -->
<?php
the_comments_navigation();
// If comments are closed and there are comments, let's leave a little note, shall we?
if ( ! comments_open() ) :
?>
<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'popularfx' ); ?></p>
<?php
endif;
endif; // Check for have_comments().
comment_form();
?>
</div><!-- #comments -->

View File

@@ -1,281 +1,281 @@
/* CSS for Customizer Custom Controls */
.popularfx-edit-link{
display: block;
border:1px solid #ccc;
border-bottom:0px solid #ccc;
padding: 8px;
font-size: 14px;
font-weight: 600;
font-style: normal;
text-decoration: none;
background: #fff;
}
.popularfx-edit-link:last-of-type{
margin-bottom: 30px;
border-bottom:1px solid #ccc;
}
.popularfx-edit-link:hover{
background: #efefef;
}
/* Standard Selection */
#customize-control-popularfx_sidebar_default{
border-bottom: 1px double #ccc;
padding-bottom: 15px;
}
#accordion-section-popularfx_pro_link,
#accordion-section-no_pagelayer {
background: #fff;
font-size: 13px;
font-weight: 600;
text-align: right;
}
#accordion-section-no_pagelayer{
background: #FF0000;
}
#accordion-section-popularfx_pro_link a,
#accordion-section-no_pagelayer a{
padding:10px;
display: block;
text-decoration: none;
text-align: left;
}
#accordion-section-no_pagelayer a{
color: #FFEDD3;
}
#accordion-section-popularfx_pro_link a span,
#accordion-section-no_pagelayer a span{
padding-right: 5px;
}
.popularfx-customize-description {
width:100%;
float: left;
}
/* Alpha Color Picker */
.customize-control-alpha-color .wp-picker-container .iris-picker {
border-bottom:none;
}
.customize-control-alpha-color .wp-picker-container {
max-width: 257px;
}
.customize-control-alpha-color .wp-picker-open + .wp-picker-input-wrap {
width: 100%;
}
.customize-control-alpha-color .wp-picker-input-wrap input[type="text"].wp-color-picker.alpha-color-control {
float: left;
width: 195px;
}
.customize-control-alpha-color .wp-picker-input-wrap .button {
margin-left: 0;
float: right;
}
.wp-picker-container .wp-picker-open ~ .wp-picker-holder .alpha-color-picker-container {
display: block;
}
.alpha-color-picker-container {
border: 1px solid #dfdfdf;
border-top: none;
display: none;
background-color: #fff;
padding: 0 11px 10px;
position: relative;
}
.alpha-color-picker-container .ui-widget-content,
.alpha-color-picker-container .ui-widget-header,
.alpha-color-picker-wrap .ui-state-focus {
background: transparent;
border: none;
}
.alpha-color-picker-wrap a.iris-square-value:focus {
-webkit-box-shadow: none;
box-shadow: none;
}
.alpha-color-picker-container .ui-slider {
position: relative;
z-index: 1;
height: 24px;
text-align: center;
margin: 0 auto;
width: 88%;
width: calc( 100% - 28px );
}
.alpha-color-picker-container .ui-slider-handle,
.alpha-color-picker-container .ui-widget-content .ui-state-default {
color: #777;
background-color: #fff;
text-shadow: 0 1px 0 #fff;
text-decoration: none;
position: absolute;
z-index: 2;
box-shadow: 0 1px 2px rgba(0,0,0,0.2);
border: 1px solid #aaa;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
margin-top: -2px;
top: 0;
height: 26px;
width: 26px;
cursor: ew-resize;
font-size: 0;
padding: 0;
line-height: 27px;
margin-left: -14px;
}
.alpha-color-picker-container .ui-slider-handle.show-opacity {
font-size: 12px;
}
.alpha-color-picker-container .click-zone {
width: 14px;
height: 24px;
display: block;
position: absolute;
left: 10px;
}
.alpha-color-picker-container .max-click-zone {
right: 10px;
left: auto;
}
.alpha-color-picker-container .transparency {
height: 24px;
width: 100%;
background-color: #fff;
background-image: url(./images/color-picker-transparency-grid.png);
box-shadow: 0 0 5px rgba(0,0,0,0.4) inset;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
padding: 0;
margin-top: -24px;
}
@media only screen and (max-width: 782px) {
.customize-control-alpha-color .wp-picker-input-wrap input[type="text"].wp-color-picker.alpha-color-control {
width: 184px;
}
}
@media only screen and (max-width: 640px) {
.customize-control-alpha-color .wp-picker-input-wrap input[type="text"].wp-color-picker.alpha-color-control {
width: 172px;
height: 33px;
}
}
/* Alpha Color Picker & Standard Color Picker */
.customize-control-color .wp-color-result,
.customize-control-alpha-color .wp-color-result {
box-shadow: none;
}
.customize-control-color .wp-color-result .wp-color-result-text,
.customize-control-alpha-color .wp-color-result .wp-color-result-text {
border-left: none;
}
.wp-picker-holder .iris-picker .iris-palette {
box-shadow: none;
}
.wp-picker-container .iris-picker,
.wp-picker-container .alpha-color-picker-container {
border-radius: 0;
border: none;
}
.wp-picker-container .alpha-color-picker-container {
width: 233px;
}
/* WPColorPicker Alpha Color Picker */
.customize-control-wpcolorpicker-alpha-color .wp-color-result {
box-shadow: none;
}
.customize-control-wpcolorpicker-alpha-color .wp-picker-input-wrap input[type="text"].wp-color-picker {
float: left;
width: 195px;
}
.customize-control-wpcolorpicker-alpha-color .wp-color-result .wp-color-result-text {
border-left: none;
}
/* Custom checkbox style start */
#customize-control-pfx_enable_scrolltop input[type="checkbox"]{
float: right;
font-size: 12px;
margin: 0px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: 3.5em;
height: 1.7em;
background: #ddd;
border-radius: 3em;
position: relative;
cursor: pointer;
outline: none;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
#customize-control-pfx_enable_scrolltop .customize-inside-control-row{
margin-left: 0px !important;
text-transform: capitalize;
}
#customize-control-pfx_enable_scrolltop input[type="checkbox"]:checked{
background-color: #1A9CDB;
border-color: #1A9CDB;
}
#customize-control-pfx_enable_scrolltop input[type="checkbox"]:after{
position: absolute;
content: "";
width: 1.5em;
height: 1.5em;
border-radius: 50%;
background: #fff;
-webkit-box-shadow: 0 0 .25em rgba(0,0,0,.3);
box-shadow: 0 0 .25em rgba(0,0,0,.3);
-webkit-transform: scale(.7);
transform: scale(.7);
left: 0;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
#customize-control-pfx_enable_scrolltop input[type="checkbox"]:checked:before{
display: none;
}
#customize-control-pfx_enable_scrolltop input[type="checkbox"]:checked:after{
left: calc(100% - 1.5em);
}
/* Custom checkbox style end*/
/* CSS for Customizer Custom Controls */
.popularfx-edit-link{
display: block;
border:1px solid #ccc;
border-bottom:0px solid #ccc;
padding: 8px;
font-size: 14px;
font-weight: 600;
font-style: normal;
text-decoration: none;
background: #fff;
}
.popularfx-edit-link:last-of-type{
margin-bottom: 30px;
border-bottom:1px solid #ccc;
}
.popularfx-edit-link:hover{
background: #efefef;
}
/* Standard Selection */
#customize-control-popularfx_sidebar_default{
border-bottom: 1px double #ccc;
padding-bottom: 15px;
}
#accordion-section-popularfx_pro_link,
#accordion-section-no_pagelayer {
background: #fff;
font-size: 13px;
font-weight: 600;
text-align: right;
}
#accordion-section-no_pagelayer{
background: #FF0000;
}
#accordion-section-popularfx_pro_link a,
#accordion-section-no_pagelayer a{
padding:10px;
display: block;
text-decoration: none;
text-align: left;
}
#accordion-section-no_pagelayer a{
color: #FFEDD3;
}
#accordion-section-popularfx_pro_link a span,
#accordion-section-no_pagelayer a span{
padding-right: 5px;
}
.popularfx-customize-description {
width:100%;
float: left;
}
/* Alpha Color Picker */
.customize-control-alpha-color .wp-picker-container .iris-picker {
border-bottom:none;
}
.customize-control-alpha-color .wp-picker-container {
max-width: 257px;
}
.customize-control-alpha-color .wp-picker-open + .wp-picker-input-wrap {
width: 100%;
}
.customize-control-alpha-color .wp-picker-input-wrap input[type="text"].wp-color-picker.alpha-color-control {
float: left;
width: 195px;
}
.customize-control-alpha-color .wp-picker-input-wrap .button {
margin-left: 0;
float: right;
}
.wp-picker-container .wp-picker-open ~ .wp-picker-holder .alpha-color-picker-container {
display: block;
}
.alpha-color-picker-container {
border: 1px solid #dfdfdf;
border-top: none;
display: none;
background-color: #fff;
padding: 0 11px 10px;
position: relative;
}
.alpha-color-picker-container .ui-widget-content,
.alpha-color-picker-container .ui-widget-header,
.alpha-color-picker-wrap .ui-state-focus {
background: transparent;
border: none;
}
.alpha-color-picker-wrap a.iris-square-value:focus {
-webkit-box-shadow: none;
box-shadow: none;
}
.alpha-color-picker-container .ui-slider {
position: relative;
z-index: 1;
height: 24px;
text-align: center;
margin: 0 auto;
width: 88%;
width: calc( 100% - 28px );
}
.alpha-color-picker-container .ui-slider-handle,
.alpha-color-picker-container .ui-widget-content .ui-state-default {
color: #777;
background-color: #fff;
text-shadow: 0 1px 0 #fff;
text-decoration: none;
position: absolute;
z-index: 2;
box-shadow: 0 1px 2px rgba(0,0,0,0.2);
border: 1px solid #aaa;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
margin-top: -2px;
top: 0;
height: 26px;
width: 26px;
cursor: ew-resize;
font-size: 0;
padding: 0;
line-height: 27px;
margin-left: -14px;
}
.alpha-color-picker-container .ui-slider-handle.show-opacity {
font-size: 12px;
}
.alpha-color-picker-container .click-zone {
width: 14px;
height: 24px;
display: block;
position: absolute;
left: 10px;
}
.alpha-color-picker-container .max-click-zone {
right: 10px;
left: auto;
}
.alpha-color-picker-container .transparency {
height: 24px;
width: 100%;
background-color: #fff;
background-image: url(./images/color-picker-transparency-grid.png);
box-shadow: 0 0 5px rgba(0,0,0,0.4) inset;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
padding: 0;
margin-top: -24px;
}
@media only screen and (max-width: 782px) {
.customize-control-alpha-color .wp-picker-input-wrap input[type="text"].wp-color-picker.alpha-color-control {
width: 184px;
}
}
@media only screen and (max-width: 640px) {
.customize-control-alpha-color .wp-picker-input-wrap input[type="text"].wp-color-picker.alpha-color-control {
width: 172px;
height: 33px;
}
}
/* Alpha Color Picker & Standard Color Picker */
.customize-control-color .wp-color-result,
.customize-control-alpha-color .wp-color-result {
box-shadow: none;
}
.customize-control-color .wp-color-result .wp-color-result-text,
.customize-control-alpha-color .wp-color-result .wp-color-result-text {
border-left: none;
}
.wp-picker-holder .iris-picker .iris-palette {
box-shadow: none;
}
.wp-picker-container .iris-picker,
.wp-picker-container .alpha-color-picker-container {
border-radius: 0;
border: none;
}
.wp-picker-container .alpha-color-picker-container {
width: 233px;
}
/* WPColorPicker Alpha Color Picker */
.customize-control-wpcolorpicker-alpha-color .wp-color-result {
box-shadow: none;
}
.customize-control-wpcolorpicker-alpha-color .wp-picker-input-wrap input[type="text"].wp-color-picker {
float: left;
width: 195px;
}
.customize-control-wpcolorpicker-alpha-color .wp-color-result .wp-color-result-text {
border-left: none;
}
/* Custom checkbox style start */
#customize-control-pfx_enable_scrolltop input[type="checkbox"]{
float: right;
font-size: 12px;
margin: 0px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: 3.5em;
height: 1.7em;
background: #ddd;
border-radius: 3em;
position: relative;
cursor: pointer;
outline: none;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
#customize-control-pfx_enable_scrolltop .customize-inside-control-row{
margin-left: 0px !important;
text-transform: capitalize;
}
#customize-control-pfx_enable_scrolltop input[type="checkbox"]:checked{
background-color: #1A9CDB;
border-color: #1A9CDB;
}
#customize-control-pfx_enable_scrolltop input[type="checkbox"]:after{
position: absolute;
content: "";
width: 1.5em;
height: 1.5em;
border-radius: 50%;
background: #fff;
-webkit-box-shadow: 0 0 .25em rgba(0,0,0,.3);
box-shadow: 0 0 .25em rgba(0,0,0,.3);
-webkit-transform: scale(.7);
transform: scale(.7);
left: 0;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
#customize-control-pfx_enable_scrolltop input[type="checkbox"]:checked:before{
display: none;
}
#customize-control-pfx_enable_scrolltop input[type="checkbox"]:checked:after{
left: calc(100% - 1.5em);
}
/* Custom checkbox style end*/

View File

@@ -1,40 +1,40 @@
<?php
/**
* The template for displaying the footer
*
* Contains the closing of the #content div and all content after.
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* @package PopularFX
*/
$footer_text = get_theme_mod('popularfx_footer_text');
?>
<footer id="colophon" class="site-footer">
<div class="site-info">
<?php if(empty($footer_text)){ ?>
<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'popularfx' ) ); ?>">
<?php
/* translators: %s: CMS name, i.e. WordPress. */
printf( esc_html__( 'Proudly powered by %s', 'popularfx' ), 'WordPress' );
?>
</a>
<span class="sep"> | </span>
<?php
/* translators: 1: Theme name, 2: Theme author. */
printf( popularfx_theme_credits() );
?>
<?php }else{
echo wp_kses($footer_text, 'post');
} ?>
</div><!-- .site-info -->
</footer><!-- #colophon -->
</div><!-- #page -->
<?php wp_footer(); ?>
</body>
</html>
<?php
/**
* The template for displaying the footer
*
* Contains the closing of the #content div and all content after.
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* @package PopularFX
*/
$footer_text = get_theme_mod('popularfx_footer_text');
?>
<footer id="colophon" class="site-footer">
<div class="site-info">
<?php if(empty($footer_text)){ ?>
<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'popularfx' ) ); ?>">
<?php
/* translators: %s: CMS name, i.e. WordPress. */
printf( esc_html__( 'Proudly powered by %s', 'popularfx' ), 'WordPress' );
?>
</a>
<span class="sep"> | </span>
<?php
/* translators: 1: Theme name, 2: Theme author. */
printf( popularfx_theme_credits() );
?>
<?php }else{
echo wp_kses($footer_text, 'post');
} ?>
</div><!-- .site-info -->
</footer><!-- #colophon -->
</div><!-- #page -->
<?php wp_footer(); ?>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,59 +1,59 @@
<?php
/**
* The header for our theme
*
* This is the template that displays all of the <head> section and everything up until <div id="content">
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* @package PopularFX
*/
?>
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="https://gmpg.org/xfn/11">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<div id="page" class="site">
<a class="skip-link screen-reader-text" href="#primary"><?php esc_html_e( 'Skip to content', 'popularfx' ); ?></a>
<header id="masthead" class="site-header">
<div class="site-branding">
<?php
the_custom_logo();
if ( is_front_page() && is_home() ) :
?>
<h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
<?php
else :
?>
<p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
<?php
endif;
$popularfx_description = get_bloginfo( 'description', 'display' );
if ( $popularfx_description || is_customize_preview() ) :
?>
<p class="site-description"><?php echo $popularfx_description; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
<?php endif; ?>
</div><!-- .site-branding -->
<button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><span class="dashicons dashicons-menu-alt2"></span></button>
<nav id="site-navigation" class="main-navigation hidden-mobile">
<?php
wp_nav_menu(
array(
'theme_location' => 'primary',
'menu_id' => 'primary-menu',
)
);
?>
</nav><!-- #site-navigation -->
</header><!-- #masthead -->
<?php
/**
* The header for our theme
*
* This is the template that displays all of the <head> section and everything up until <div id="content">
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* @package PopularFX
*/
?>
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="https://gmpg.org/xfn/11">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<div id="page" class="site">
<a class="skip-link screen-reader-text" href="#primary"><?php esc_html_e( 'Skip to content', 'popularfx' ); ?></a>
<header id="masthead" class="site-header">
<div class="site-branding">
<?php
the_custom_logo();
if ( is_front_page() && is_home() ) :
?>
<h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
<?php
else :
?>
<p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
<?php
endif;
$popularfx_description = get_bloginfo( 'description', 'display' );
if ( $popularfx_description || is_customize_preview() ) :
?>
<p class="site-description"><?php echo $popularfx_description; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
<?php endif; ?>
</div><!-- .site-branding -->
<button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><span class="dashicons dashicons-menu-alt2"></span></button>
<nav id="site-navigation" class="main-navigation hidden-mobile">
<?php
wp_nav_menu(
array(
'theme_location' => 'primary',
'menu_id' => 'primary-menu',
)
);
?>
</nav><!-- #site-navigation -->
</header><!-- #masthead -->

View File

@@ -1,141 +1,141 @@
<?php
/**
* Popularfx Customizer Custom Controls
*
*/
if ( class_exists( 'WP_Customize_Control' ) ) {
/**
* Custom Control Base Class
*/
class Popularfx_Custom_Control extends WP_Customize_Control {
protected function get_popularfx_resource_url() {
if( strpos( wp_normalize_path( __DIR__ ), wp_normalize_path( WP_PLUGIN_DIR ) ) === 0 ) {
// We're in a plugin directory and need to determine the url accordingly.
return plugin_dir_url( __DIR__ );
}
return trailingslashit( get_template_directory_uri() );
}
}
/**
* Alpha Color Picker Custom Control
*
* @author Braad Martin <http://braadmartin.com>
* @license http://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/BraadMartin/components/tree/master/customizer/alpha-color-picker
*/
class Popularfx_Customize_Alpha_Color_Control extends Popularfx_Custom_Control {
/**
* The type of control being rendered
*/
public $type = 'alpha-color';
/**
* Add support for palettes to be passed in.
*
* Supported palette values are true, false, or an array of RGBa and Hex colors.
*/
public $palette;
/**
* Add support for showing the opacity value on the slider handle.
*/
public $show_opacity;
/**
* Enqueue our scripts and styles
*/
public function enqueue() {
wp_enqueue_script( 'wp-color-picker' );
wp_enqueue_style( 'wp-color-picker' );
wp_enqueue_script( 'popularfx-customizer-controls' );
}
/**
* Render the control in the customizer
*/
public function render_content() {
// Process the palette
if ( is_array( $this->palette ) ) {
$palette = implode( '|', $this->palette );
} else {
// Default to true.
$palette = ( false === $this->palette || 'false' === $this->palette ) ? 'false' : 'true';
}
// Support passing show_opacity as string or boolean. Default to true.
$show_opacity = ( false === $this->show_opacity || 'false' === $this->show_opacity ) ? 'false' : 'true';
// Output the label and description if they were passed in.
if ( isset( $this->label ) && '' !== $this->label ) {
echo '<span class="customize-control-title">' . sanitize_text_field( $this->label ) . '</span>';
}
if ( isset( $this->description ) && '' !== $this->description ) {
echo '<span class="description popularfx-customize-description">' . sanitize_text_field( $this->description ) . '</span>';
} ?>
<input class="alpha-color-control" type="text" data-show-opacity="<?php echo $show_opacity; ?>" data-palette="<?php echo esc_attr( $palette ); ?>" data-default-color="<?php echo esc_attr( $this->settings['default']->default ); ?>" <?php $this->link(); ?> />
<?php
}
}
/**
* Switch sanitization
*
* @param string Switch value
* @return integer Sanitized value
*/
if ( ! function_exists( 'popularfx_switch_sanitization' ) ) {
function popularfx_switch_sanitization( $input ) {
if ( true === $input ) {
return 1;
} else {
return 0;
}
}
}
/**
* Alpha Color (Hex & RGBa) sanitization
*
* @param string Input to be sanitized
* @return string Sanitized input
*/
if ( ! function_exists( 'popularfx_hex_rgba_sanitization' ) ) {
function popularfx_hex_rgba_sanitization( $input, $setting ) {
if ( empty( $input ) || is_array( $input ) ) {
return $setting->default;
}
if ( false === strpos( $input, 'rgba' ) ) {
// If string doesn't start with 'rgba' then santize as hex color
$input = sanitize_hex_color( $input );
} else {
// Sanitize as RGBa color
$input = str_replace( ' ', '', $input );
sscanf( $input, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
$input = 'rgba(' . popularfx_in_range( $red, 0, 255 ) . ',' . popularfx_in_range( $green, 0, 255 ) . ',' . popularfx_in_range( $blue, 0, 255 ) . ',' . popularfx_in_range( $alpha, 0, 1 ) . ')';
}
return $input;
}
}
/**
* Only allow values between a certain minimum & maxmium range
*
* @param number Input to be sanitized
* @return number Sanitized input
*/
if ( ! function_exists( 'popularfx_in_range' ) ) {
function popularfx_in_range( $input, $min, $max ){
if ( $input < $min ) {
$input = $min;
}
if ( $input > $max ) {
$input = $max;
}
return $input;
}
}
}
<?php
/**
* Popularfx Customizer Custom Controls
*
*/
if ( class_exists( 'WP_Customize_Control' ) ) {
/**
* Custom Control Base Class
*/
class Popularfx_Custom_Control extends WP_Customize_Control {
protected function get_popularfx_resource_url() {
if( strpos( wp_normalize_path( __DIR__ ), wp_normalize_path( WP_PLUGIN_DIR ) ) === 0 ) {
// We're in a plugin directory and need to determine the url accordingly.
return plugin_dir_url( __DIR__ );
}
return trailingslashit( get_template_directory_uri() );
}
}
/**
* Alpha Color Picker Custom Control
*
* @author Braad Martin <http://braadmartin.com>
* @license http://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/BraadMartin/components/tree/master/customizer/alpha-color-picker
*/
class Popularfx_Customize_Alpha_Color_Control extends Popularfx_Custom_Control {
/**
* The type of control being rendered
*/
public $type = 'alpha-color';
/**
* Add support for palettes to be passed in.
*
* Supported palette values are true, false, or an array of RGBa and Hex colors.
*/
public $palette;
/**
* Add support for showing the opacity value on the slider handle.
*/
public $show_opacity;
/**
* Enqueue our scripts and styles
*/
public function enqueue() {
wp_enqueue_script( 'wp-color-picker' );
wp_enqueue_style( 'wp-color-picker' );
wp_enqueue_script( 'popularfx-customizer-controls' );
}
/**
* Render the control in the customizer
*/
public function render_content() {
// Process the palette
if ( is_array( $this->palette ) ) {
$palette = implode( '|', $this->palette );
} else {
// Default to true.
$palette = ( false === $this->palette || 'false' === $this->palette ) ? 'false' : 'true';
}
// Support passing show_opacity as string or boolean. Default to true.
$show_opacity = ( false === $this->show_opacity || 'false' === $this->show_opacity ) ? 'false' : 'true';
// Output the label and description if they were passed in.
if ( isset( $this->label ) && '' !== $this->label ) {
echo '<span class="customize-control-title">' . sanitize_text_field( $this->label ) . '</span>';
}
if ( isset( $this->description ) && '' !== $this->description ) {
echo '<span class="description popularfx-customize-description">' . sanitize_text_field( $this->description ) . '</span>';
} ?>
<input class="alpha-color-control" type="text" data-show-opacity="<?php echo $show_opacity; ?>" data-palette="<?php echo esc_attr( $palette ); ?>" data-default-color="<?php echo esc_attr( $this->settings['default']->default ); ?>" <?php $this->link(); ?> />
<?php
}
}
/**
* Switch sanitization
*
* @param string Switch value
* @return integer Sanitized value
*/
if ( ! function_exists( 'popularfx_switch_sanitization' ) ) {
function popularfx_switch_sanitization( $input ) {
if ( true === $input ) {
return 1;
} else {
return 0;
}
}
}
/**
* Alpha Color (Hex & RGBa) sanitization
*
* @param string Input to be sanitized
* @return string Sanitized input
*/
if ( ! function_exists( 'popularfx_hex_rgba_sanitization' ) ) {
function popularfx_hex_rgba_sanitization( $input, $setting ) {
if ( empty( $input ) || is_array( $input ) ) {
return $setting->default;
}
if ( false === strpos( $input, 'rgba' ) ) {
// If string doesn't start with 'rgba' then santize as hex color
$input = sanitize_hex_color( $input );
} else {
// Sanitize as RGBa color
$input = str_replace( ' ', '', $input );
sscanf( $input, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
$input = 'rgba(' . popularfx_in_range( $red, 0, 255 ) . ',' . popularfx_in_range( $green, 0, 255 ) . ',' . popularfx_in_range( $blue, 0, 255 ) . ',' . popularfx_in_range( $alpha, 0, 1 ) . ')';
}
return $input;
}
}
/**
* Only allow values between a certain minimum & maxmium range
*
* @param number Input to be sanitized
* @return number Sanitized input
*/
if ( ! function_exists( 'popularfx_in_range' ) ) {
function popularfx_in_range( $input, $min, $max ){
if ( $input < $min ) {
$input = $min;
}
if ( $input > $max ) {
$input = $max;
}
return $input;
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -1,259 +1,259 @@
<?php
if(!function_exists('popularfx_dashboard')){
global $popularfx;
$popularfx['t'] = wp_get_theme();
// The PopularFX Settings Header
function popularfx_page_header($title = 'PopularFX Theme'){
$promos = apply_filters('popularfx_review_link', false);
echo '<div style="margin: 0px;">
<div class="metabox-holder">
<div class="postbox-container">
<div class="wrap" style="margin-top:0px;">
<h1 style="padding:0px"><!--This is to fix promo--></h1>
<table cellpadding="2" cellspacing="1" width="100%" class="fixed" border="0">
<tr>
<td valign="top"><h1>'.$title.'</h1></td>
'.($promos ? '<td align="right"><a target="_blank" class="button button-primary" href="'.esc_url('https://wordpress.org/support/view/plugin-reviews/pagelayer').'">'.__('Review Pagelayer', 'popularfx').'</a></td>' : '').'
<td align="right" width="40"><a target="_blank" href="'.esc_url('https://twitter.com/PopularFXthemes').'"><img src="'.esc_url(POPULARFX_URL.'/images/twitter.png').'" /></a></td>
<td align="right" width="40"><a target="_blank" href="'.esc_url('https://facebook.com/PopularFX').'"><img src="'.esc_url(POPULARFX_URL.'/images/facebook.png').'" /></a></td>
</tr>
</table>
<hr />
<!--Main Table-->
<table cellpadding="8" cellspacing="1" width="100%" class="fixed">
<tr>
<td valign="top">';
}
// The Pagelayer Settings footer
function popularfx_page_footer(){
global $popularfx;
echo '
</td>';
$promos = true;
if($promos){
echo '
<td width="200" valign="top" id="pagelayer-right-bar">';
echo '
<div class="postbox" style="min-width:0px !important;">
<h2 class="hndle ui-sortable-handle">
<span><a target="_blank" href="'.esc_url(POPULARFX_PAGELAYER_PRO_URL).'"><img src="'.esc_url(POPULARFX_URL.'/images/pagelayer_product.png').'" width="100%" /></a></span>
</h2>
<div class="inside">
<i>'.__('The best WordPress page builder', 'popularfx').' </i>:<br>
<ul class="pagelayer-right-ul">
<li>'.__('30+ Free Widgets', 'popularfx').'</li>
<li>'.__('60+ Premium Widgets', 'popularfx').'</li>
<li>'.__('400+ Premium Sections', 'popularfx').'</li>
<li>'.__('Theme Builder', 'popularfx').'</li>
<li>'.__('WooCommerce Builder', 'popularfx').'</li>
<li>'.__('Theme Creator and Exporter', 'popularfx').'</li>
<li>'.__('Form Builder', 'popularfx').'</li>
<li>'.__('Popup Builder', 'popularfx').'</li>
<li>'.__('And many more ...', 'popularfx').'</li>
</ul>
<center><a class="button button-primary" target="_blank" href="'.esc_url(POPULARFX_PAGELAYER_PRO_URL).'">'.__('Upgrade', 'popularfx').'</a></center>
</div>
</div>';
echo '
<div class="postbox" style="min-width:0px !important;">
<h2 class="hndle ui-sortable-handle">
<span><a target="_blank" href="https://loginizer.com/?from=pfx-theme"><img src="'.esc_url(POPULARFX_URL.'/images/loginizer-product.png').'" width="100%" /></a></span>
</h2>
<div class="inside">
<i>'.__('Secure your website with the following features', 'popularfx').' </i>:<br>
<ul class="lz-right-ul">
<li>'.__('PasswordLess Login', 'popularfx').'</li>
<li>'.__('Two Factor Auth - Email', 'popularfx').'</li>
<li>'.__('Two Factor Auth - App', 'popularfx').'</li>
<li>'.__('Login Challenge Question', 'popularfx').'</li>
<li>'.__('reCAPTCHA', 'popularfx').'</li>
<li>'.__('Rename Login Page', 'popularfx').'</li>
<li>'.__('Disable XML-RPC', 'popularfx').'</li>
<li>'.__('And many more ...', 'popularfx').'</li>
</ul>
<center><a class="button button-primary" href="https://loginizer.com/pricing">'.__('Upgrade', 'popularfx').'</a></center>
</div>
</div>';
echo '
<div class="postbox" style="min-width:0px !important;">
<h2 class="hndle ui-sortable-handle">
<span><a target="_blank" href="https://wpcentral.co/?from=pfx-theme"><img src="'.esc_url(POPULARFX_URL.'/images/wpcentral_product.png').'" width="100%" /></a></span>
</h2>
<div class="inside">
<i>'.__('Manage all your WordPress sites from <b>1 dashboard</b>', 'popularfx').' </i>:<br>
<ul class="pagelayer-right-ul">
<li>'.__('1-click Admin Access', 'popularfx').'</li>
<li>'.__('Update WordPress', 'popularfx').'</li>
<li>'.__('Update Themes', 'popularfx').'</li>
<li>'.__('Update Plugins', 'popularfx').'</li>
<li>'.__('Backup your WordPress Site', 'popularfx').'</li>
<li>'.__('Plugins & Theme Management', 'popularfx').'</li>
<li>'.__('Post Management', 'popularfx').'</li>
<li>'.__('And many more ...', 'popularfx').'</li>
</ul>
<center><a class="button button-primary" target="_blank" href="'.esc_url('https://wpcentral.co/?from=pfx-theme-'.popularfx_get_current_theme_slug()).'">'.__('Visit wpCentral', 'popularfx').'</a></center>
</div>
</div>
</td>';
}
echo '
</tr>
</table>
<br />';
if(empty($GLOBALS['sitepad'])){
echo '<div style="width:45%;background:#FFF;padding:15px; margin:auto">
<b>'.__('Let your followers know that you use PopularFX to build your website', 'popularfx').' :</b>
<form method="get" action="https://twitter.com/intent/tweet" id="tweet" onsubmit="return dotweet(this);">
<textarea name="text" cols="45" row="3" style="resize:none;">'.__('I easily built my #WordPress #site using @PopularFXthemes', 'popularfx').'</textarea>
&nbsp; &nbsp; <input type="submit" value="Tweet!" class="button button-primary" onsubmit="return false;" id="twitter-btn" style="margin-top:20px;"/>
</form>
</div>
<br />';
wp_register_script( 'pfx_common', get_stylesheet_directory_uri() .'/js/common.js', array(), POPULARFX_VERSION, true );
wp_enqueue_script('pfx_common');
echo '<hr />
<a href="'.esc_url($popularfx['www_url']).'" target="_blank">'.$popularfx['t']->get('Name').'</a> v'.$popularfx['t']->get('Version').' '.__('You can report any bugs', 'popularfx').' <a href="'.esc_url($popularfx['support_url']).'" target="_blank">'.__('here', 'popularfx').'</a>.';
}
echo '
</div>
</div>
</div>
</div>';
}
// The License Page
function popularfx_dashboard(){
global $popularfx, $pl_error;
if(isset($_REQUEST['save_pfx_license'])){
check_admin_referer('popularfx-options');
}
popularfx_dashboard_T();
}
// The License Page - THEME
function popularfx_dashboard_T(){
global $popularfx, $pagelayer, $pl_error;
popularfx_page_header('PopularFX Dashboard');
// Saved ?
if(!empty($GLOBALS['pl_saved'])){
echo '<div class="notice notice-success"><p>'. __('The settings were saved successfully', 'popularfx'). '</p></div><br />';
}
// Any errors ?
if(!empty($pl_error)){
pagelayer_report_error($pl_error);echo '<br />';
}
?>
<div class="postbox">
<h2 class="hndle ui-sortable-handle">
<span><?php echo __('Theme Information', 'popularfx'); ?></span>
</h2>
<div class="inside">
<form action="" method="post" enctype="multipart/form-data">
<?php wp_nonce_field('popularfx-options'); ?>
<table class="wp-list-table fixed striped users" cellspacing="1" border="0" width="95%" cellpadding="10" align="center">
<?php
echo '
<tr>
<th align="left" width="25%">'.__('Theme Name', 'popularfx').'</th>
<td>'.$popularfx['t']->get('Name').'</td>
</tr>
<tr>
<th align="left" width="25%">'.__('Theme Version', 'popularfx').'</th>
<td>'.$popularfx['t']->get('Version').'</td>
</tr>
<tr>
<th align="left" valign="top">'.__('PopularFX Templates Plugin', 'popularfx').'</th>
<td align="left">
<a href="'.esc_url(POPULARFX_WWW_URL).'/plugin">'.(defined('PFX_VERSION') ? PFX_VERSION : __('Install PopularFX Website Templates Plugin', 'popularfx')).'</a>
</td>
</tr>
<tr>
<th align="left" width="25%">'.__('Pagelayer Version', 'popularfx').'</th>
<td>'.(defined('PAGELAYER_VERSION') ? PAGELAYER_VERSION : 'Not Installed').(defined('PAGELAYER_PREMIUM') ? ' (PRO Version)' : '').'</td>
</tr>
<tr>
<th align="left">'.__('URL', 'popularfx').'</th>
<td>'.esc_url(home_url()).'</td>
</tr>
<tr>
<th align="left">'.__('Path', 'popularfx').'</th>
<td>'.ABSPATH.'</td>
</tr>
<tr>
<th align="left">'.__('Server\'s IP Address', 'popularfx').'</th>
<td>'.$_SERVER['SERVER_ADDR'].'</td>
</tr>';
?>
</table>
</form>
</div>
</div>
<?php
global $popularfx_promo_opts;
$popularfx_promo_opts['popularfx_templates_promo'] = [
'after' => 0,// In days
'interval' => 30,// In days
'pro_url' => POPULARFX_PRO_URL,
'rating' => 'https://wordpress.org/themes/popularfx/#reviews',
'twitter' => 'https://twitter.com/PopularFXthemes?status='.rawurlencode('I love #PopularFX Theme by @pagelayer team for my #WordPress site - '.esc_url(home_url())),
'facebook' => 'https://facebook.com/popularfx',
'website' => POPULARFX_WWW_URL,
'image' => POPULARFX_URL.'/images/popularfx-logo.png',
'name' => 'popularfx_templates_promo',
'class' => 'popularfx-templates-promo'
];
popularfx_templates_promo();
popularfx_page_footer();
}
<?php
if(!function_exists('popularfx_dashboard')){
global $popularfx;
$popularfx['t'] = wp_get_theme();
// The PopularFX Settings Header
function popularfx_page_header($title = 'PopularFX Theme'){
$promos = apply_filters('popularfx_review_link', false);
echo '<div style="margin: 0px;">
<div class="metabox-holder">
<div class="postbox-container">
<div class="wrap" style="margin-top:0px;">
<h1 style="padding:0px"><!--This is to fix promo--></h1>
<table cellpadding="2" cellspacing="1" width="100%" class="fixed" border="0">
<tr>
<td valign="top"><h1>'.$title.'</h1></td>
'.($promos ? '<td align="right"><a target="_blank" class="button button-primary" href="'.esc_url('https://wordpress.org/support/view/plugin-reviews/pagelayer').'">'.__('Review Pagelayer', 'popularfx').'</a></td>' : '').'
<td align="right" width="40"><a target="_blank" href="'.esc_url('https://twitter.com/PopularFXthemes').'"><img src="'.esc_url(POPULARFX_URL.'/images/twitter.png').'" /></a></td>
<td align="right" width="40"><a target="_blank" href="'.esc_url('https://facebook.com/PopularFX').'"><img src="'.esc_url(POPULARFX_URL.'/images/facebook.png').'" /></a></td>
</tr>
</table>
<hr />
<!--Main Table-->
<table cellpadding="8" cellspacing="1" width="100%" class="fixed">
<tr>
<td valign="top">';
}
// The Pagelayer Settings footer
function popularfx_page_footer(){
global $popularfx;
echo '
</td>';
$promos = true;
if($promos){
echo '
<td width="200" valign="top" id="pagelayer-right-bar">';
echo '
<div class="postbox" style="min-width:0px !important;">
<h2 class="hndle ui-sortable-handle">
<span><a target="_blank" href="'.esc_url(POPULARFX_PAGELAYER_PRO_URL).'"><img src="'.esc_url(POPULARFX_URL.'/images/pagelayer_product.png').'" width="100%" /></a></span>
</h2>
<div class="inside">
<i>'.__('The best WordPress page builder', 'popularfx').' </i>:<br>
<ul class="pagelayer-right-ul">
<li>'.__('30+ Free Widgets', 'popularfx').'</li>
<li>'.__('60+ Premium Widgets', 'popularfx').'</li>
<li>'.__('400+ Premium Sections', 'popularfx').'</li>
<li>'.__('Theme Builder', 'popularfx').'</li>
<li>'.__('WooCommerce Builder', 'popularfx').'</li>
<li>'.__('Theme Creator and Exporter', 'popularfx').'</li>
<li>'.__('Form Builder', 'popularfx').'</li>
<li>'.__('Popup Builder', 'popularfx').'</li>
<li>'.__('And many more ...', 'popularfx').'</li>
</ul>
<center><a class="button button-primary" target="_blank" href="'.esc_url(POPULARFX_PAGELAYER_PRO_URL).'">'.__('Upgrade', 'popularfx').'</a></center>
</div>
</div>';
echo '
<div class="postbox" style="min-width:0px !important;">
<h2 class="hndle ui-sortable-handle">
<span><a target="_blank" href="https://loginizer.com/?from=pfx-theme"><img src="'.esc_url(POPULARFX_URL.'/images/loginizer-product.png').'" width="100%" /></a></span>
</h2>
<div class="inside">
<i>'.__('Secure your website with the following features', 'popularfx').' </i>:<br>
<ul class="lz-right-ul">
<li>'.__('PasswordLess Login', 'popularfx').'</li>
<li>'.__('Two Factor Auth - Email', 'popularfx').'</li>
<li>'.__('Two Factor Auth - App', 'popularfx').'</li>
<li>'.__('Login Challenge Question', 'popularfx').'</li>
<li>'.__('reCAPTCHA', 'popularfx').'</li>
<li>'.__('Rename Login Page', 'popularfx').'</li>
<li>'.__('Disable XML-RPC', 'popularfx').'</li>
<li>'.__('And many more ...', 'popularfx').'</li>
</ul>
<center><a class="button button-primary" href="https://loginizer.com/pricing">'.__('Upgrade', 'popularfx').'</a></center>
</div>
</div>';
echo '
<div class="postbox" style="min-width:0px !important;">
<h2 class="hndle ui-sortable-handle">
<span><a target="_blank" href="https://wpcentral.co/?from=pfx-theme"><img src="'.esc_url(POPULARFX_URL.'/images/wpcentral_product.png').'" width="100%" /></a></span>
</h2>
<div class="inside">
<i>'.__('Manage all your WordPress sites from <b>1 dashboard</b>', 'popularfx').' </i>:<br>
<ul class="pagelayer-right-ul">
<li>'.__('1-click Admin Access', 'popularfx').'</li>
<li>'.__('Update WordPress', 'popularfx').'</li>
<li>'.__('Update Themes', 'popularfx').'</li>
<li>'.__('Update Plugins', 'popularfx').'</li>
<li>'.__('Backup your WordPress Site', 'popularfx').'</li>
<li>'.__('Plugins & Theme Management', 'popularfx').'</li>
<li>'.__('Post Management', 'popularfx').'</li>
<li>'.__('And many more ...', 'popularfx').'</li>
</ul>
<center><a class="button button-primary" target="_blank" href="'.esc_url('https://wpcentral.co/?from=pfx-theme-'.popularfx_get_current_theme_slug()).'">'.__('Visit wpCentral', 'popularfx').'</a></center>
</div>
</div>
</td>';
}
echo '
</tr>
</table>
<br />';
if(empty($GLOBALS['sitepad'])){
echo '<div style="width:45%;background:#FFF;padding:15px; margin:auto">
<b>'.__('Let your followers know that you use PopularFX to build your website', 'popularfx').' :</b>
<form method="get" action="https://twitter.com/intent/tweet" id="tweet" onsubmit="return dotweet(this);">
<textarea name="text" cols="45" row="3" style="resize:none;">'.__('I easily built my #WordPress #site using @PopularFXthemes', 'popularfx').'</textarea>
&nbsp; &nbsp; <input type="submit" value="Tweet!" class="button button-primary" onsubmit="return false;" id="twitter-btn" style="margin-top:20px;"/>
</form>
</div>
<br />';
wp_register_script( 'pfx_common', get_stylesheet_directory_uri() .'/js/common.js', array(), POPULARFX_VERSION, true );
wp_enqueue_script('pfx_common');
echo '<hr />
<a href="'.esc_url($popularfx['www_url']).'" target="_blank">'.$popularfx['t']->get('Name').'</a> v'.$popularfx['t']->get('Version').' '.__('You can report any bugs', 'popularfx').' <a href="'.esc_url($popularfx['support_url']).'" target="_blank">'.__('here', 'popularfx').'</a>.';
}
echo '
</div>
</div>
</div>
</div>';
}
// The License Page
function popularfx_dashboard(){
global $popularfx, $pl_error;
if(isset($_REQUEST['save_pfx_license'])){
check_admin_referer('popularfx-options');
}
popularfx_dashboard_T();
}
// The License Page - THEME
function popularfx_dashboard_T(){
global $popularfx, $pagelayer, $pl_error;
popularfx_page_header('PopularFX Dashboard');
// Saved ?
if(!empty($GLOBALS['pl_saved'])){
echo '<div class="notice notice-success"><p>'. __('The settings were saved successfully', 'popularfx'). '</p></div><br />';
}
// Any errors ?
if(!empty($pl_error)){
pagelayer_report_error($pl_error);echo '<br />';
}
?>
<div class="postbox">
<h2 class="hndle ui-sortable-handle">
<span><?php echo __('Theme Information', 'popularfx'); ?></span>
</h2>
<div class="inside">
<form action="" method="post" enctype="multipart/form-data">
<?php wp_nonce_field('popularfx-options'); ?>
<table class="wp-list-table fixed striped users" cellspacing="1" border="0" width="95%" cellpadding="10" align="center">
<?php
echo '
<tr>
<th align="left" width="25%">'.__('Theme Name', 'popularfx').'</th>
<td>'.$popularfx['t']->get('Name').'</td>
</tr>
<tr>
<th align="left" width="25%">'.__('Theme Version', 'popularfx').'</th>
<td>'.$popularfx['t']->get('Version').'</td>
</tr>
<tr>
<th align="left" valign="top">'.__('PopularFX Templates Plugin', 'popularfx').'</th>
<td align="left">
<a href="'.esc_url(POPULARFX_WWW_URL).'/plugin">'.(defined('PFX_VERSION') ? PFX_VERSION : __('Install PopularFX Website Templates Plugin', 'popularfx')).'</a>
</td>
</tr>
<tr>
<th align="left" width="25%">'.__('Pagelayer Version', 'popularfx').'</th>
<td>'.(defined('PAGELAYER_VERSION') ? PAGELAYER_VERSION : 'Not Installed').(defined('PAGELAYER_PREMIUM') ? ' (PRO Version)' : '').'</td>
</tr>
<tr>
<th align="left">'.__('URL', 'popularfx').'</th>
<td>'.esc_url(home_url()).'</td>
</tr>
<tr>
<th align="left">'.__('Path', 'popularfx').'</th>
<td>'.ABSPATH.'</td>
</tr>
<tr>
<th align="left">'.__('Server\'s IP Address', 'popularfx').'</th>
<td>'.$_SERVER['SERVER_ADDR'].'</td>
</tr>';
?>
</table>
</form>
</div>
</div>
<?php
global $popularfx_promo_opts;
$popularfx_promo_opts['popularfx_templates_promo'] = [
'after' => 0,// In days
'interval' => 30,// In days
'pro_url' => POPULARFX_PRO_URL,
'rating' => 'https://wordpress.org/themes/popularfx/#reviews',
'twitter' => 'https://twitter.com/PopularFXthemes?status='.rawurlencode('I love #PopularFX Theme by @pagelayer team for my #WordPress site - '.esc_url(home_url())),
'facebook' => 'https://facebook.com/popularfx',
'website' => POPULARFX_WWW_URL,
'image' => POPULARFX_URL.'/images/popularfx-logo.png',
'name' => 'popularfx_templates_promo',
'class' => 'popularfx-templates-promo'
];
popularfx_templates_promo();
popularfx_page_footer();
}
}

View File

@@ -1,161 +1,161 @@
<?php
if(!function_exists('popularfx_cleanpath')){
function popularfx_cleanpath($path){
$path = str_replace('\\', '/', $path);
$path = str_replace('//', '/', $path);
return rtrim($path, '/');
}
}
if(!function_exists('popularfx_get_current_theme_slug')){
// Return the name of the current theme folder
function popularfx_get_current_theme_slug(){
$theme_root = popularfx_cleanpath(get_theme_root());
$debug = debug_backtrace();
$caller = popularfx_cleanpath($debug[0]['file']);
$left = str_ireplace($theme_root.'/', '', $caller);
$val = explode('/', $left);
return trim($val[0]);
}
}
// Install Pagelayer Pro
if(!function_exists('popularfx_install_pagelayer')){
function popularfx_install_pagelayer(){
global $pagelayer;
if(!empty($_GET['license']) && function_exists('pfx_install_pagelayer_pro')){
return pfx_install_pagelayer_pro();
}
// Include the necessary stuff
include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
// Includes necessary for Plugin_Upgrader and Plugin_Installer_Skin
include_once( ABSPATH . 'wp-admin/includes/file.php' );
include_once( ABSPATH . 'wp-admin/includes/misc.php' );
include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
// Filter to prevent the activate text
add_filter('install_plugin_complete_actions', 'popularfx_install_pagelayer_complete_actions', 10, 3);
echo '<h2>'.__('Install Pagelayer Free Version', 'popularfx').'</h2>';
$upgrader = new Plugin_Upgrader( new Plugin_Installer_Skin( ) );
$installed = $upgrader->install('https://downloads.wordpress.org/plugin/pagelayer.zip');
if(is_wp_error( $installed ) || empty($installed)){
return $installed;
}
if ( !is_wp_error( $installed ) && $installed ) {
echo __('Activating Pagelayer Plugin !', 'popularfx');
$installed = activate_plugin('pagelayer/pagelayer.php');
if ( is_null($installed)) {
$installed = true;
echo '<div id="message" class="updated"><p>'. sprintf(__('Done! Pagelayer is now installed and activated. Please click <a href="%s">here</a> to import your themes content', 'popularfx'), esc_url(admin_url('admin.php?page=pagelayer_import'))). '</p></div><br />';
echo '<br><br><b>'.__('Done! Pagelayer is now installed and activated', 'popularfx').'.</b>';
}
}
return $installed;
}
// Prevent pro activate text for installer
function popularfx_install_pagelayer_complete_actions($install_actions, $api, $plugin_file){
if($plugin_file == 'pagelayer-pro/pagelayer-pro.php'){
return array();
}
if($plugin_file == 'pagelayer/pagelayer.php'){
return array();
}
return $install_actions;
}
}
if(!function_exists('popularfx_admin_menu')){
// This adds the left menu in WordPress Admin page
add_action('admin_menu', 'popularfx_admin_menu', 5);
function popularfx_admin_menu() {
if(defined('PFX_FILE')){
return;
}
$capability = 'edit_theme_options';// TODO : Capability for accessing this page
add_theme_page('PopularFX', __('PopularFX Options', 'popularfx'), $capability, 'popularfx', 'popularfx_page_handler');
/*// Add the menu page
add_menu_page('PopularFX', 'PopularFX', $capability, 'popularfx', 'popularfx_page_handler', POPULARFX_URL.'/images/popularfx-logo-menu.png');
// Options Page
add_submenu_page('popularfx', 'PopularFX', __('Information', 'popularfx'), $capability, 'popularfx', 'popularfx_page_handler');
// PopularFX Templates
add_submenu_page('popularfx', __('Website Templates', 'popularfx'), __('Website Templates', 'popularfx'), $capability, 'popularfx_templates', 'popularfx_page_templates');*/
}
}
// Install Templates part
if(!function_exists('popularfx_page_templates')){
function popularfx_page_templates() {
include_once(dirname(__FILE__).'/popularfx-templates.php');
popularfx_templates();
}
}
if(!function_exists('popularfx_page_handler')){
function popularfx_page_handler() {
include_once(dirname(__FILE__).'/popularfx-dashboard.php');
popularfx_dashboard();
}
}
////////////////
// Some vars
////////////////
$popularfx['www_url'] = esc_url('https://popularfx.com');
$popularfx['support_url'] = esc_url('https://popularfx.deskuss.com');
$popularfx['slug'] = popularfx_get_current_theme_slug();
// Show the theme import notice if not shown
if(file_exists(dirname(dirname(__FILE__)).'/pagelayer.conf')){
if(!function_exists('pagelayer_theme_import_notices')){
//add_action('admin_notices', 'popularfx_pagelayer_required');
}else{
add_action('admin_notices', 'pagelayer_theme_import_notices');
}
<?php
if(!function_exists('popularfx_cleanpath')){
function popularfx_cleanpath($path){
$path = str_replace('\\', '/', $path);
$path = str_replace('//', '/', $path);
return rtrim($path, '/');
}
}
if(!function_exists('popularfx_get_current_theme_slug')){
// Return the name of the current theme folder
function popularfx_get_current_theme_slug(){
$theme_root = popularfx_cleanpath(get_theme_root());
$debug = debug_backtrace();
$caller = popularfx_cleanpath($debug[0]['file']);
$left = str_ireplace($theme_root.'/', '', $caller);
$val = explode('/', $left);
return trim($val[0]);
}
}
// Install Pagelayer Pro
if(!function_exists('popularfx_install_pagelayer')){
function popularfx_install_pagelayer(){
global $pagelayer;
if(!empty($_GET['license']) && function_exists('pfx_install_pagelayer_pro')){
return pfx_install_pagelayer_pro();
}
// Include the necessary stuff
include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
// Includes necessary for Plugin_Upgrader and Plugin_Installer_Skin
include_once( ABSPATH . 'wp-admin/includes/file.php' );
include_once( ABSPATH . 'wp-admin/includes/misc.php' );
include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
// Filter to prevent the activate text
add_filter('install_plugin_complete_actions', 'popularfx_install_pagelayer_complete_actions', 10, 3);
echo '<h2>'.__('Install Pagelayer Free Version', 'popularfx').'</h2>';
$upgrader = new Plugin_Upgrader( new Plugin_Installer_Skin( ) );
$installed = $upgrader->install('https://downloads.wordpress.org/plugin/pagelayer.zip');
if(is_wp_error( $installed ) || empty($installed)){
return $installed;
}
if ( !is_wp_error( $installed ) && $installed ) {
echo __('Activating Pagelayer Plugin !', 'popularfx');
$installed = activate_plugin('pagelayer/pagelayer.php');
if ( is_null($installed)) {
$installed = true;
echo '<div id="message" class="updated"><p>'. sprintf(__('Done! Pagelayer is now installed and activated. Please click <a href="%s">here</a> to import your themes content', 'popularfx'), esc_url(admin_url('admin.php?page=pagelayer_import'))). '</p></div><br />';
echo '<br><br><b>'.__('Done! Pagelayer is now installed and activated', 'popularfx').'.</b>';
}
}
return $installed;
}
// Prevent pro activate text for installer
function popularfx_install_pagelayer_complete_actions($install_actions, $api, $plugin_file){
if($plugin_file == 'pagelayer-pro/pagelayer-pro.php'){
return array();
}
if($plugin_file == 'pagelayer/pagelayer.php'){
return array();
}
return $install_actions;
}
}
if(!function_exists('popularfx_admin_menu')){
// This adds the left menu in WordPress Admin page
add_action('admin_menu', 'popularfx_admin_menu', 5);
function popularfx_admin_menu() {
if(defined('PFX_FILE')){
return;
}
$capability = 'edit_theme_options';// TODO : Capability for accessing this page
add_theme_page('PopularFX', __('PopularFX Options', 'popularfx'), $capability, 'popularfx', 'popularfx_page_handler');
/*// Add the menu page
add_menu_page('PopularFX', 'PopularFX', $capability, 'popularfx', 'popularfx_page_handler', POPULARFX_URL.'/images/popularfx-logo-menu.png');
// Options Page
add_submenu_page('popularfx', 'PopularFX', __('Information', 'popularfx'), $capability, 'popularfx', 'popularfx_page_handler');
// PopularFX Templates
add_submenu_page('popularfx', __('Website Templates', 'popularfx'), __('Website Templates', 'popularfx'), $capability, 'popularfx_templates', 'popularfx_page_templates');*/
}
}
// Install Templates part
if(!function_exists('popularfx_page_templates')){
function popularfx_page_templates() {
include_once(dirname(__FILE__).'/popularfx-templates.php');
popularfx_templates();
}
}
if(!function_exists('popularfx_page_handler')){
function popularfx_page_handler() {
include_once(dirname(__FILE__).'/popularfx-dashboard.php');
popularfx_dashboard();
}
}
////////////////
// Some vars
////////////////
$popularfx['www_url'] = esc_url('https://popularfx.com');
$popularfx['support_url'] = esc_url('https://popularfx.deskuss.com');
$popularfx['slug'] = popularfx_get_current_theme_slug();
// Show the theme import notice if not shown
if(file_exists(dirname(dirname(__FILE__)).'/pagelayer.conf')){
if(!function_exists('pagelayer_theme_import_notices')){
//add_action('admin_notices', 'popularfx_pagelayer_required');
}else{
add_action('admin_notices', 'pagelayer_theme_import_notices');
}
}

View File

@@ -1,37 +1,37 @@
<?php
/**
* Functions which enhance the theme by hooking into WordPress
*
* @package PopularFX
*/
/**
* Adds custom classes to the array of body classes.
*
* @param array $classes Classes for the body element.
* @return array
*/
function popularfx_body_classes( $classes ) {
// Adds a class of hfeed to non-singular pages.
if ( ! is_singular() ) {
$classes[] = 'hfeed';
}
// Adds a class of no-sidebar when there is no sidebar present.
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
$classes[] = 'no-sidebar';
}
return $classes;
}
add_filter( 'body_class', 'popularfx_body_classes' );
/**
* Add a pingback url auto-discovery header for single posts, pages, or attachments.
*/
function popularfx_pingback_header() {
if ( is_singular() && pings_open() ) {
printf( '<link rel="pingback" href="%s">', esc_url( get_bloginfo( 'pingback_url' ) ) );
}
}
add_action( 'wp_head', 'popularfx_pingback_header' );
<?php
/**
* Functions which enhance the theme by hooking into WordPress
*
* @package PopularFX
*/
/**
* Adds custom classes to the array of body classes.
*
* @param array $classes Classes for the body element.
* @return array
*/
function popularfx_body_classes( $classes ) {
// Adds a class of hfeed to non-singular pages.
if ( ! is_singular() ) {
$classes[] = 'hfeed';
}
// Adds a class of no-sidebar when there is no sidebar present.
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
$classes[] = 'no-sidebar';
}
return $classes;
}
add_filter( 'body_class', 'popularfx_body_classes' );
/**
* Add a pingback url auto-discovery header for single posts, pages, or attachments.
*/
function popularfx_pingback_header() {
if ( is_singular() && pings_open() ) {
printf( '<link rel="pingback" href="%s">', esc_url( get_bloginfo( 'pingback_url' ) ) );
}
}
add_action( 'wp_head', 'popularfx_pingback_header' );

View File

@@ -1,165 +1,165 @@
<?php
/**
* Custom template tags for this theme
*
* Eventually, some of the functionality here could be replaced by core features.
*
* @package PopularFX
*/
if ( ! function_exists( 'popularfx_posted_on' ) ) :
/**
* Prints HTML with meta information for the current post-date/time.
*/
function popularfx_posted_on() {
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
}
$time_string = sprintf(
$time_string,
esc_attr( get_the_date( DATE_W3C ) ),
esc_html( get_the_date() ),
esc_attr( get_the_modified_date( DATE_W3C ) ),
esc_html( get_the_modified_date() )
);
$posted_on = sprintf(
/* translators: %s: post date. */
esc_html_x( 'Posted on %s', 'post date', 'popularfx' ),
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
);
echo '<span class="posted-on">' . $posted_on . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
endif;
if ( ! function_exists( 'popularfx_posted_by' ) ) :
/**
* Prints HTML with meta information for the current author.
*/
function popularfx_posted_by() {
$byline = sprintf(
/* translators: %s: post author. */
esc_html_x( 'by %s', 'post author', 'popularfx' ),
'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
);
echo '<span class="byline"> ' . $byline . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
endif;
if ( ! function_exists( 'popularfx_entry_footer' ) ) :
/**
* Prints HTML with meta information for the categories, tags and comments.
*/
function popularfx_entry_footer() {
// Hide category and tag text for pages.
if ( 'post' === get_post_type() ) {
/* translators: used between list items, there is a space after the comma */
$categories_list = get_the_category_list( esc_html__( ', ', 'popularfx' ) );
if ( $categories_list ) {
/* translators: 1: list of categories. */
printf( '<span class="cat-links">' . esc_html__( 'Posted in %1$s', 'popularfx' ) . '</span>', $categories_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
/* translators: used between list items, there is a space after the comma */
$tags_list = get_the_tag_list( '', esc_html_x( ', ', 'list item separator', 'popularfx' ) );
if ( $tags_list ) {
/* translators: 1: list of tags. */
printf( '<span class="tags-links">' . esc_html__( 'Tagged %1$s', 'popularfx' ) . '</span>', $tags_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
}
if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
echo '<span class="comments-link">';
comments_popup_link(
sprintf(
wp_kses(
/* translators: %s: post title */
__( 'Leave a Comment<span class="screen-reader-text"> on %s</span>', 'popularfx' ),
array(
'span' => array(
'class' => array(),
),
)
),
wp_kses_post( get_the_title() )
)
);
echo '</span>';
}
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Edit <span class="screen-reader-text">%s</span>', 'popularfx' ),
array(
'span' => array(
'class' => array(),
),
)
),
wp_kses_post( get_the_title() )
),
'<span class="edit-link">',
'</span>'
);
}
endif;
if ( ! function_exists( 'popularfx_post_thumbnail' ) ) :
/**
* Displays an optional post thumbnail.
*
* Wraps the post thumbnail in an anchor element on index views, or a div
* element when on single views.
*/
function popularfx_post_thumbnail() {
if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {
return;
}
if ( is_singular() ) :
?>
<div class="post-thumbnail">
<?php the_post_thumbnail(); ?>
</div><!-- .post-thumbnail -->
<?php else : ?>
<a class="post-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true" tabindex="-1">
<?php
the_post_thumbnail(
'post-thumbnail',
array(
'alt' => the_title_attribute(
array(
'echo' => false,
)
),
)
);
?>
</a>
<?php
endif; // End is_singular().
}
endif;
if ( ! function_exists( 'wp_body_open' ) ) :
/**
* Shim for sites older than 5.2.
*
* @link https://core.trac.wordpress.org/ticket/12563
*/
function wp_body_open() {
do_action( 'wp_body_open' );
}
endif;
<?php
/**
* Custom template tags for this theme
*
* Eventually, some of the functionality here could be replaced by core features.
*
* @package PopularFX
*/
if ( ! function_exists( 'popularfx_posted_on' ) ) :
/**
* Prints HTML with meta information for the current post-date/time.
*/
function popularfx_posted_on() {
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
}
$time_string = sprintf(
$time_string,
esc_attr( get_the_date( DATE_W3C ) ),
esc_html( get_the_date() ),
esc_attr( get_the_modified_date( DATE_W3C ) ),
esc_html( get_the_modified_date() )
);
$posted_on = sprintf(
/* translators: %s: post date. */
esc_html_x( 'Posted on %s', 'post date', 'popularfx' ),
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
);
echo '<span class="posted-on">' . $posted_on . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
endif;
if ( ! function_exists( 'popularfx_posted_by' ) ) :
/**
* Prints HTML with meta information for the current author.
*/
function popularfx_posted_by() {
$byline = sprintf(
/* translators: %s: post author. */
esc_html_x( 'by %s', 'post author', 'popularfx' ),
'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
);
echo '<span class="byline"> ' . $byline . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
endif;
if ( ! function_exists( 'popularfx_entry_footer' ) ) :
/**
* Prints HTML with meta information for the categories, tags and comments.
*/
function popularfx_entry_footer() {
// Hide category and tag text for pages.
if ( 'post' === get_post_type() ) {
/* translators: used between list items, there is a space after the comma */
$categories_list = get_the_category_list( esc_html__( ', ', 'popularfx' ) );
if ( $categories_list ) {
/* translators: 1: list of categories. */
printf( '<span class="cat-links">' . esc_html__( 'Posted in %1$s', 'popularfx' ) . '</span>', $categories_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
/* translators: used between list items, there is a space after the comma */
$tags_list = get_the_tag_list( '', esc_html_x( ', ', 'list item separator', 'popularfx' ) );
if ( $tags_list ) {
/* translators: 1: list of tags. */
printf( '<span class="tags-links">' . esc_html__( 'Tagged %1$s', 'popularfx' ) . '</span>', $tags_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
}
if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
echo '<span class="comments-link">';
comments_popup_link(
sprintf(
wp_kses(
/* translators: %s: post title */
__( 'Leave a Comment<span class="screen-reader-text"> on %s</span>', 'popularfx' ),
array(
'span' => array(
'class' => array(),
),
)
),
wp_kses_post( get_the_title() )
)
);
echo '</span>';
}
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Edit <span class="screen-reader-text">%s</span>', 'popularfx' ),
array(
'span' => array(
'class' => array(),
),
)
),
wp_kses_post( get_the_title() )
),
'<span class="edit-link">',
'</span>'
);
}
endif;
if ( ! function_exists( 'popularfx_post_thumbnail' ) ) :
/**
* Displays an optional post thumbnail.
*
* Wraps the post thumbnail in an anchor element on index views, or a div
* element when on single views.
*/
function popularfx_post_thumbnail() {
if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {
return;
}
if ( is_singular() ) :
?>
<div class="post-thumbnail">
<?php the_post_thumbnail(); ?>
</div><!-- .post-thumbnail -->
<?php else : ?>
<a class="post-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true" tabindex="-1">
<?php
the_post_thumbnail(
'post-thumbnail',
array(
'alt' => the_title_attribute(
array(
'echo' => false,
)
),
)
);
?>
</a>
<?php
endif; // End is_singular().
}
endif;
if ( ! function_exists( 'wp_body_open' ) ) :
/**
* Shim for sites older than 5.2.
*
* @link https://core.trac.wordpress.org/ticket/12563
*/
function wp_body_open() {
do_action( 'wp_body_open' );
}
endif;

View File

@@ -1,128 +1,128 @@
<?php
/**
* WooCommerce Compatibility File
*
* @link https://woocommerce.com/
*
* @package PopularFX
*/
/**
* WooCommerce specific scripts & stylesheets.
*
* @return void
*/
function popularfx_woocommerce_scripts() {
$inline = '.popularfx-body.woocommerce-page main{
padding: 15px;
}';
wp_add_inline_style( 'popularfx-style', $inline );
}
add_action( 'wp_enqueue_scripts', 'popularfx_woocommerce_scripts' );
/**
* Disable the default WooCommerce stylesheet.
*
* Removing the default WooCommerce stylesheet and enqueing your own will
* protect you during WooCommerce core updates.
*
* @link https://docs.woocommerce.com/document/disable-the-default-stylesheet/
*/
//add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );
/**
* Add 'woocommerce-active' class to the body tag.
*
* @param array $classes CSS classes applied to the body tag.
* @return array $classes modified to include 'woocommerce-active' class.
*/
function popularfx_woocommerce_active_body_class( $classes ) {
$classes[] = 'woocommerce-active';
return $classes;
}
add_filter( 'body_class', 'popularfx_woocommerce_active_body_class' );
/**
* Related Products Args.
*
* @param array $args related products args.
* @return array $args related products args.
*/
function popularfx_woocommerce_related_products_args( $args ) {
$defaults = array(
'posts_per_page' => 3,
'columns' => 3,
);
$args = wp_parse_args( $defaults, $args );
return $args;
}
add_filter( 'woocommerce_output_related_products_args', 'popularfx_woocommerce_related_products_args' );
/**
* Remove default WooCommerce wrapper.
*/
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
if ( ! function_exists( 'popularfx_woocommerce_wrapper_before' ) ) {
/**
* Before Content.
*
* Wraps all WooCommerce content in wrappers which match the theme markup.
*
* @return void
*/
function popularfx_woocommerce_wrapper_before() {
?>
<main id="primary" class="site-main">
<?php
}
}
add_action( 'woocommerce_before_main_content', 'popularfx_woocommerce_wrapper_before' );
if ( ! function_exists( 'popularfx_woocommerce_wrapper_after' ) ) {
/**
* After Content.
*
* Closes the wrapping divs.
*
* @return void
*/
function popularfx_woocommerce_wrapper_after() {
?>
</main><!-- #main -->
<?php
}
}
add_action( 'woocommerce_after_main_content', 'popularfx_woocommerce_wrapper_after' );
// Show the star rating
add_action('woocommerce_after_shop_loop_item_title', 'popularfx_woocommerce_star_rating', 5);
function popularfx_woocommerce_star_rating() {
global $product;
$rating = $product->get_average_rating();
$rating_html = '</a><a href="' . get_the_permalink() . '#respond"><div class ="pfx-star-rating-container"><div class="star-rating pfx-star-rating"><span style="width:' . (( $rating / 5 ) * 100) . '%"></span></div></div></a>';
echo $rating_html;
}
/**
* Show cart contents / total Ajax
*/
add_filter( 'woocommerce_add_to_cart_fragments', 'popularfx_wc_header_add_to_cart_fragment' );
function popularfx_wc_header_add_to_cart_fragment( $fragments ) {
global $woocommerce;
ob_start();
?>
<li class="page-item pfx-menu-cart cart-customlocation menu-item menu-item-type-post_type menu-item-object-page"><a href="<?php echo esc_url(wc_get_cart_url()); ?>"><span class="dashicons dashicons-cart"></span><sup><?php echo WC()->cart->get_cart_contents_count();?></sup></a></li>
<?php
$fragments['li.cart-customlocation'] = ob_get_clean();
return $fragments;
}
<?php
/**
* WooCommerce Compatibility File
*
* @link https://woocommerce.com/
*
* @package PopularFX
*/
/**
* WooCommerce specific scripts & stylesheets.
*
* @return void
*/
function popularfx_woocommerce_scripts() {
$inline = '.popularfx-body.woocommerce-page main{
padding: 15px;
}';
wp_add_inline_style( 'popularfx-style', $inline );
}
add_action( 'wp_enqueue_scripts', 'popularfx_woocommerce_scripts' );
/**
* Disable the default WooCommerce stylesheet.
*
* Removing the default WooCommerce stylesheet and enqueing your own will
* protect you during WooCommerce core updates.
*
* @link https://docs.woocommerce.com/document/disable-the-default-stylesheet/
*/
//add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );
/**
* Add 'woocommerce-active' class to the body tag.
*
* @param array $classes CSS classes applied to the body tag.
* @return array $classes modified to include 'woocommerce-active' class.
*/
function popularfx_woocommerce_active_body_class( $classes ) {
$classes[] = 'woocommerce-active';
return $classes;
}
add_filter( 'body_class', 'popularfx_woocommerce_active_body_class' );
/**
* Related Products Args.
*
* @param array $args related products args.
* @return array $args related products args.
*/
function popularfx_woocommerce_related_products_args( $args ) {
$defaults = array(
'posts_per_page' => 3,
'columns' => 3,
);
$args = wp_parse_args( $defaults, $args );
return $args;
}
add_filter( 'woocommerce_output_related_products_args', 'popularfx_woocommerce_related_products_args' );
/**
* Remove default WooCommerce wrapper.
*/
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
if ( ! function_exists( 'popularfx_woocommerce_wrapper_before' ) ) {
/**
* Before Content.
*
* Wraps all WooCommerce content in wrappers which match the theme markup.
*
* @return void
*/
function popularfx_woocommerce_wrapper_before() {
?>
<main id="primary" class="site-main">
<?php
}
}
add_action( 'woocommerce_before_main_content', 'popularfx_woocommerce_wrapper_before' );
if ( ! function_exists( 'popularfx_woocommerce_wrapper_after' ) ) {
/**
* After Content.
*
* Closes the wrapping divs.
*
* @return void
*/
function popularfx_woocommerce_wrapper_after() {
?>
</main><!-- #main -->
<?php
}
}
add_action( 'woocommerce_after_main_content', 'popularfx_woocommerce_wrapper_after' );
// Show the star rating
add_action('woocommerce_after_shop_loop_item_title', 'popularfx_woocommerce_star_rating', 5);
function popularfx_woocommerce_star_rating() {
global $product;
$rating = $product->get_average_rating();
$rating_html = '</a><a href="' . get_the_permalink() . '#respond"><div class ="pfx-star-rating-container"><div class="star-rating pfx-star-rating"><span style="width:' . (( $rating / 5 ) * 100) . '%"></span></div></div></a>';
echo $rating_html;
}
/**
* Show cart contents / total Ajax
*/
add_filter( 'woocommerce_add_to_cart_fragments', 'popularfx_wc_header_add_to_cart_fragment' );
function popularfx_wc_header_add_to_cart_fragment( $fragments ) {
global $woocommerce;
ob_start();
?>
<li class="page-item pfx-menu-cart cart-customlocation menu-item menu-item-type-post_type menu-item-object-page"><a href="<?php echo esc_url(wc_get_cart_url()); ?>"><span class="dashicons dashicons-cart"></span><sup><?php echo WC()->cart->get_cart_contents_count();?></sup></a></li>
<?php
$fragments['li.cart-customlocation'] = ob_get_clean();
return $fragments;
}

View File

@@ -1,57 +1,57 @@
<?php
/**
* The main template file
*
* This is the most generic template file in a WordPress theme
* and one of the two required files for a theme (the other being style.css).
* It is used to display a page when nothing more specific matches a query.
* E.g., it puts together the home page when no home.php file exists.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php
if ( have_posts() ) :
if ( is_home() && ! is_front_page() ) :
?>
<header>
<h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
</header>
<?php
endif;
/* Start the Loop */
while ( have_posts() ) :
the_post();
/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
get_template_part( 'template-parts/content', get_post_type() );
endwhile;
the_posts_navigation();
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();
<?php
/**
* The main template file
*
* This is the most generic template file in a WordPress theme
* and one of the two required files for a theme (the other being style.css).
* It is used to display a page when nothing more specific matches a query.
* E.g., it puts together the home page when no home.php file exists.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php
if ( have_posts() ) :
if ( is_home() && ! is_front_page() ) :
?>
<header>
<h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
</header>
<?php
endif;
/* Start the Loop */
while ( have_posts() ) :
the_post();
/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
get_template_part( 'template-parts/content', get_post_type() );
endwhile;
the_posts_navigation();
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();

View File

@@ -1,5 +1,5 @@
function dotweet(ele){
window.open(jQuery("#"+ele.id).attr("action")+"?"+jQuery("#"+ele.id).serialize(), "_blank", "scrollbars=no, menubar=no, height=400, width=500, resizable=yes, toolbar=no, status=no");
return false;
}
function dotweet(ele){
window.open(jQuery("#"+ele.id).attr("action")+"?"+jQuery("#"+ele.id).serialize(), "_blank", "scrollbars=no, menubar=no, height=400, width=500, resizable=yes, toolbar=no, status=no");
return false;
}

View File

@@ -1,266 +1,266 @@
jQuery( document ).ready(function($) {
/**
* Alpha Color Picker Custom Control
*
* @author Braad Martin <http://braadmartin.com>
* @license http://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/BraadMartin/components/tree/master/customizer/alpha-color-picker
*/
// Loop over each control and transform it into our color picker.
$( '.alpha-color-control' ).each( function() {
// Scope the vars.
var $control, startingColor, paletteInput, showOpacity, defaultColor, palette,
colorPickerOptions, $container, $alphaSlider, alphaVal, sliderOptions;
// Store the control instance.
$control = $( this );
// Get a clean starting value for the option.
startingColor = $control.val().replace( /\s+/g, '' );
// Get some data off the control.
paletteInput = $control.attr( 'data-palette' );
showOpacity = $control.attr( 'data-show-opacity' );
defaultColor = $control.attr( 'data-default-color' );
// Process the palette.
if ( paletteInput.indexOf( '|' ) !== -1 ) {
palette = paletteInput.split( '|' );
} else if ( 'false' == paletteInput ) {
palette = false;
} else {
palette = true;
}
// Set up the options that we'll pass to wpColorPicker().
colorPickerOptions = {
change: function( event, ui ) {
var key, value, alpha, $transparency;
key = $control.attr( 'data-customize-setting-link' );
value = $control.wpColorPicker( 'color' );
// Set the opacity value on the slider handle when the default color button is clicked.
if ( defaultColor == value ) {
alpha = pfx_acp_get_alpha_value_from_color( value );
$alphaSlider.find( '.ui-slider-handle' ).text( alpha );
}
// Send ajax request to wp.customize to trigger the Save action.
wp.customize( key, function( obj ) {
obj.set( value );
});
$transparency = $container.find( '.transparency' );
// Always show the background color of the opacity slider at 100% opacity.
$transparency.css( 'background-color', ui.color.toString( 'no-alpha' ) );
},
palettes: palette // Use the passed in palette.
};
// Create the colorpicker.
$control.wpColorPicker( colorPickerOptions );
$container = $control.parents( '.wp-picker-container:first' );
// Insert our opacity slider.
$( '<div class="alpha-color-picker-container">' +
'<div class="min-click-zone click-zone"></div>' +
'<div class="max-click-zone click-zone"></div>' +
'<div class="alpha-slider"></div>' +
'<div class="transparency"></div>' +
'</div>' ).appendTo( $container.find( '.wp-picker-holder' ) );
$alphaSlider = $container.find( '.alpha-slider' );
// If starting value is in format RGBa, grab the alpha channel.
alphaVal = pfx_acp_get_alpha_value_from_color( startingColor );
// Set up jQuery UI slider() options.
sliderOptions = {
create: function( event, ui ) {
var value = $( this ).slider( 'value' );
// Set up initial values.
$( this ).find( '.ui-slider-handle' ).text( value );
$( this ).siblings( '.transparency ').css( 'background-color', startingColor );
},
value: alphaVal,
range: 'max',
step: 1,
min: 0,
max: 100,
animate: 300
};
// Initialize jQuery UI slider with our options.
$alphaSlider.slider( sliderOptions );
// Maybe show the opacity on the handle.
if ( 'true' == showOpacity ) {
$alphaSlider.find( '.ui-slider-handle' ).addClass( 'show-opacity' );
}
// Bind event handlers for the click zones.
$container.find( '.min-click-zone' ).on( 'click', function() {
pfx_acp_update_alpha_value_on_color_control( 0, $control, $alphaSlider, true );
});
$container.find( '.max-click-zone' ).on( 'click', function() {
pfx_acp_update_alpha_value_on_color_control( 100, $control, $alphaSlider, true );
});
// Bind event handler for clicking on a palette color.
$container.find( '.iris-palette' ).on( 'click', function() {
var color, alpha;
color = $( this ).css( 'background-color' );
alpha = pfx_acp_get_alpha_value_from_color( color );
pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );
// Sometimes Iris doesn't set a perfect background-color on the palette,
// for example rgba(20, 80, 100, 0.3) becomes rgba(20, 80, 100, 0.298039).
// To compensante for this we round the opacity value on RGBa colors here
// and save it a second time to the color picker object.
if ( alpha != 100 ) {
color = color.replace( /[^,]+(?=\))/, ( alpha / 100 ).toFixed( 2 ) );
}
$control.wpColorPicker( 'color', color );
});
// Bind event handler for clicking on the 'Clear' button.
$container.find( '.button.wp-picker-clear' ).on( 'click', function() {
var key = $control.attr( 'data-customize-setting-link' );
// The #fff color is delibrate here. This sets the color picker to white instead of the
// defult black, which puts the color picker in a better place to visually represent empty.
$control.wpColorPicker( 'color', '#ffffff' );
// Set the actual option value to empty string.
wp.customize( key, function( obj ) {
obj.set( '' );
});
pfx_acp_update_alpha_value_on_alpha_slider( 100, $alphaSlider );
});
// Bind event handler for clicking on the 'Default' button.
$container.find( '.button.wp-picker-default' ).on( 'click', function() {
var alpha = pfx_acp_get_alpha_value_from_color( defaultColor );
pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );
});
// Bind event handler for typing or pasting into the input.
$control.on( 'input', function() {
var value = $( this ).val();
var alpha = pfx_acp_get_alpha_value_from_color( value );
pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );
});
// Update all the things when the slider is interacted with.
$alphaSlider.slider().on( 'slide', function( event, ui ) {
var alpha = parseFloat( ui.value ) / 100.0;
pfx_acp_update_alpha_value_on_color_control( alpha, $control, $alphaSlider, false );
// Change value shown on slider handle.
$( this ).find( '.ui-slider-handle' ).text( ui.value );
});
});
});
/**
* Override the stock color.js toString() method to add support for outputting RGBa or Hex.
*/
Color.prototype.toString = function( flag ) {
// If our no-alpha flag has been passed in, output RGBa value with 100% opacity.
// This is used to set the background color on the opacity slider during color changes.
if ( 'no-alpha' == flag ) {
return this.toCSS( 'rgba', '1' ).replace( /\s+/g, '' );
}
// If we have a proper opacity value, output RGBa.
if ( 1 > this._alpha ) {
return this.toCSS( 'rgba', this._alpha ).replace( /\s+/g, '' );
}
// Proceed with stock color.js hex output.
var hex = parseInt( this._color, 10 ).toString( 16 );
if ( this.error ) { return ''; }
if ( hex.length < 6 ) {
for ( var i = 6 - hex.length - 1; i >= 0; i-- ) {
hex = '0' + hex;
}
}
return '#' + hex;
};
/**
* Given an RGBa, RGB, or hex color value, return the alpha channel value.
*/
function pfx_acp_get_alpha_value_from_color( value ) {
var alphaVal;
// Remove all spaces from the passed in value to help our RGBa regex.
value = value.replace( / /g, '' );
if ( value.match( /rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/ ) ) {
alphaVal = parseFloat( value.match( /rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/ )[1] ).toFixed(2) * 100;
alphaVal = parseInt( alphaVal );
} else {
alphaVal = 100;
}
return alphaVal;
}
/**
* Force update the alpha value of the color picker object and maybe the alpha slider.
*/
function pfx_acp_update_alpha_value_on_color_control( alpha, $control, $alphaSlider, update_slider ) {
var iris, colorPicker, color;
iris = $control.data( 'a8cIris' );
colorPicker = $control.data( 'wpWpColorPicker' );
// Set the alpha value on the Iris object.
iris._color._alpha = alpha;
// Store the new color value.
color = iris._color.toString();
// Set the value of the input.
$control.val( color );
// Update the background color of the color picker.
colorPicker.toggler.css({
'background-color': color
});
// Maybe update the alpha slider itself.
if ( update_slider ) {
pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );
}
// Update the color value of the color picker object.
$control.wpColorPicker( 'color', color );
}
/**
* Update the slider handle position and label.
*/
function pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider ) {
$alphaSlider.slider( 'value', alpha );
$alphaSlider.find( '.ui-slider-handle' ).text( alpha.toString() );
}
jQuery( document ).ready(function($) {
/**
* Alpha Color Picker Custom Control
*
* @author Braad Martin <http://braadmartin.com>
* @license http://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/BraadMartin/components/tree/master/customizer/alpha-color-picker
*/
// Loop over each control and transform it into our color picker.
$( '.alpha-color-control' ).each( function() {
// Scope the vars.
var $control, startingColor, paletteInput, showOpacity, defaultColor, palette,
colorPickerOptions, $container, $alphaSlider, alphaVal, sliderOptions;
// Store the control instance.
$control = $( this );
// Get a clean starting value for the option.
startingColor = $control.val().replace( /\s+/g, '' );
// Get some data off the control.
paletteInput = $control.attr( 'data-palette' );
showOpacity = $control.attr( 'data-show-opacity' );
defaultColor = $control.attr( 'data-default-color' );
// Process the palette.
if ( paletteInput.indexOf( '|' ) !== -1 ) {
palette = paletteInput.split( '|' );
} else if ( 'false' == paletteInput ) {
palette = false;
} else {
palette = true;
}
// Set up the options that we'll pass to wpColorPicker().
colorPickerOptions = {
change: function( event, ui ) {
var key, value, alpha, $transparency;
key = $control.attr( 'data-customize-setting-link' );
value = $control.wpColorPicker( 'color' );
// Set the opacity value on the slider handle when the default color button is clicked.
if ( defaultColor == value ) {
alpha = pfx_acp_get_alpha_value_from_color( value );
$alphaSlider.find( '.ui-slider-handle' ).text( alpha );
}
// Send ajax request to wp.customize to trigger the Save action.
wp.customize( key, function( obj ) {
obj.set( value );
});
$transparency = $container.find( '.transparency' );
// Always show the background color of the opacity slider at 100% opacity.
$transparency.css( 'background-color', ui.color.toString( 'no-alpha' ) );
},
palettes: palette // Use the passed in palette.
};
// Create the colorpicker.
$control.wpColorPicker( colorPickerOptions );
$container = $control.parents( '.wp-picker-container:first' );
// Insert our opacity slider.
$( '<div class="alpha-color-picker-container">' +
'<div class="min-click-zone click-zone"></div>' +
'<div class="max-click-zone click-zone"></div>' +
'<div class="alpha-slider"></div>' +
'<div class="transparency"></div>' +
'</div>' ).appendTo( $container.find( '.wp-picker-holder' ) );
$alphaSlider = $container.find( '.alpha-slider' );
// If starting value is in format RGBa, grab the alpha channel.
alphaVal = pfx_acp_get_alpha_value_from_color( startingColor );
// Set up jQuery UI slider() options.
sliderOptions = {
create: function( event, ui ) {
var value = $( this ).slider( 'value' );
// Set up initial values.
$( this ).find( '.ui-slider-handle' ).text( value );
$( this ).siblings( '.transparency ').css( 'background-color', startingColor );
},
value: alphaVal,
range: 'max',
step: 1,
min: 0,
max: 100,
animate: 300
};
// Initialize jQuery UI slider with our options.
$alphaSlider.slider( sliderOptions );
// Maybe show the opacity on the handle.
if ( 'true' == showOpacity ) {
$alphaSlider.find( '.ui-slider-handle' ).addClass( 'show-opacity' );
}
// Bind event handlers for the click zones.
$container.find( '.min-click-zone' ).on( 'click', function() {
pfx_acp_update_alpha_value_on_color_control( 0, $control, $alphaSlider, true );
});
$container.find( '.max-click-zone' ).on( 'click', function() {
pfx_acp_update_alpha_value_on_color_control( 100, $control, $alphaSlider, true );
});
// Bind event handler for clicking on a palette color.
$container.find( '.iris-palette' ).on( 'click', function() {
var color, alpha;
color = $( this ).css( 'background-color' );
alpha = pfx_acp_get_alpha_value_from_color( color );
pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );
// Sometimes Iris doesn't set a perfect background-color on the palette,
// for example rgba(20, 80, 100, 0.3) becomes rgba(20, 80, 100, 0.298039).
// To compensante for this we round the opacity value on RGBa colors here
// and save it a second time to the color picker object.
if ( alpha != 100 ) {
color = color.replace( /[^,]+(?=\))/, ( alpha / 100 ).toFixed( 2 ) );
}
$control.wpColorPicker( 'color', color );
});
// Bind event handler for clicking on the 'Clear' button.
$container.find( '.button.wp-picker-clear' ).on( 'click', function() {
var key = $control.attr( 'data-customize-setting-link' );
// The #fff color is delibrate here. This sets the color picker to white instead of the
// defult black, which puts the color picker in a better place to visually represent empty.
$control.wpColorPicker( 'color', '#ffffff' );
// Set the actual option value to empty string.
wp.customize( key, function( obj ) {
obj.set( '' );
});
pfx_acp_update_alpha_value_on_alpha_slider( 100, $alphaSlider );
});
// Bind event handler for clicking on the 'Default' button.
$container.find( '.button.wp-picker-default' ).on( 'click', function() {
var alpha = pfx_acp_get_alpha_value_from_color( defaultColor );
pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );
});
// Bind event handler for typing or pasting into the input.
$control.on( 'input', function() {
var value = $( this ).val();
var alpha = pfx_acp_get_alpha_value_from_color( value );
pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );
});
// Update all the things when the slider is interacted with.
$alphaSlider.slider().on( 'slide', function( event, ui ) {
var alpha = parseFloat( ui.value ) / 100.0;
pfx_acp_update_alpha_value_on_color_control( alpha, $control, $alphaSlider, false );
// Change value shown on slider handle.
$( this ).find( '.ui-slider-handle' ).text( ui.value );
});
});
});
/**
* Override the stock color.js toString() method to add support for outputting RGBa or Hex.
*/
Color.prototype.toString = function( flag ) {
// If our no-alpha flag has been passed in, output RGBa value with 100% opacity.
// This is used to set the background color on the opacity slider during color changes.
if ( 'no-alpha' == flag ) {
return this.toCSS( 'rgba', '1' ).replace( /\s+/g, '' );
}
// If we have a proper opacity value, output RGBa.
if ( 1 > this._alpha ) {
return this.toCSS( 'rgba', this._alpha ).replace( /\s+/g, '' );
}
// Proceed with stock color.js hex output.
var hex = parseInt( this._color, 10 ).toString( 16 );
if ( this.error ) { return ''; }
if ( hex.length < 6 ) {
for ( var i = 6 - hex.length - 1; i >= 0; i-- ) {
hex = '0' + hex;
}
}
return '#' + hex;
};
/**
* Given an RGBa, RGB, or hex color value, return the alpha channel value.
*/
function pfx_acp_get_alpha_value_from_color( value ) {
var alphaVal;
// Remove all spaces from the passed in value to help our RGBa regex.
value = value.replace( / /g, '' );
if ( value.match( /rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/ ) ) {
alphaVal = parseFloat( value.match( /rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/ )[1] ).toFixed(2) * 100;
alphaVal = parseInt( alphaVal );
} else {
alphaVal = 100;
}
return alphaVal;
}
/**
* Force update the alpha value of the color picker object and maybe the alpha slider.
*/
function pfx_acp_update_alpha_value_on_color_control( alpha, $control, $alphaSlider, update_slider ) {
var iris, colorPicker, color;
iris = $control.data( 'a8cIris' );
colorPicker = $control.data( 'wpWpColorPicker' );
// Set the alpha value on the Iris object.
iris._color._alpha = alpha;
// Store the new color value.
color = iris._color.toString();
// Set the value of the input.
$control.val( color );
// Update the background color of the color picker.
colorPicker.toggler.css({
'background-color': color
});
// Maybe update the alpha slider itself.
if ( update_slider ) {
pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );
}
// Update the color value of the color picker object.
$control.wpColorPicker( 'color', color );
}
/**
* Update the slider handle position and label.
*/
function pfx_acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider ) {
$alphaSlider.slider( 'value', alpha );
$alphaSlider.find( '.ui-slider-handle' ).text( alpha.toString() );
}

View File

@@ -1,80 +1,80 @@
/* global wp, jQuery */
/**
* File customizer.js.
*
* Theme Customizer enhancements for a better user experience.
*
* Contains handlers to make Theme Customizer preview reload changes asynchronously.
*/
( function( $ ) {
// Site title and description.
wp.customize( 'blogname', function( value ) {
value.bind( function( to ) {
$( '.site-title a' ).text( to );
} );
} );
wp.customize( 'blogdescription', function( value ) {
value.bind( function( to ) {
$( '.site-description' ).text( to );
} );
} );
// Header text color.
wp.customize( 'header_textcolor', function( value ) {
value.bind( function( to ) {
if ( 'blank' === to ) {
$( '.site-title, .site-description' ).css( {
clip: 'rect(1px, 1px, 1px, 1px)',
position: 'absolute',
} );
} else {
$( '.site-title, .site-description' ).css( {
clip: 'auto',
position: 'relative',
} );
$( '.site-title a, .site-description' ).css( {
color: to,
} );
}
} );
} );
var custom_preview = {
'pfx_scrolltop_position' : {'sel' : 'a#pfx-scroll-top', 'css' : "left" , 'val' : "{{val}}%"},
'pfx_scrolltop_padding' : {'sel' : 'a#pfx-scroll-top', 'css' : "padding" , 'val' : "{{val}}px"},
'pfx_scrolltop_borderwidth' : {'sel' : 'a#pfx-scroll-top', 'css' : "border" , 'val' : "{{val}}px solid"},
'pfx_scrolltop_borderradius' : {'sel' : 'a#pfx-scroll-top', 'css' : "border-radius" , 'val' : "{{val}}px"},
'pfx_scrolltop_bg_color' : {'sel' : 'a#pfx-scroll-top', 'css' : "background-color" , 'val' : "{{val}}"},
'pfx_scrolltop_color' : {'sel' : "a#pfx-scroll-top span.dashicons.dashicons-arrow-up-alt2", 'css' : "color" , 'val' : "{{val}}"},
'pfx_scrolltop_iconsize' : {'sel' : "a#pfx-scroll-top span.dashicons.dashicons-arrow-up-alt2", 'css' : ['width', 'height', 'font-size'] , 'val' : "{{val}}px"},
};
$.each( custom_preview, function (i, value){
// Append & Apply scrolltop setting
wp.customize( i, function(values) {
values.bind( function( to ){
var sel = value.sel;
var newVal = value.val;
newVal = newVal.split('{{val}}').join(to);
if(typeof value.css == 'object'){
for( var kk in value.css){
$( sel ).css( value.css[kk] , newVal );
}
return;
}
$( sel ).css( value.css , newVal );
});
});
});
}( jQuery ) );
/* global wp, jQuery */
/**
* File customizer.js.
*
* Theme Customizer enhancements for a better user experience.
*
* Contains handlers to make Theme Customizer preview reload changes asynchronously.
*/
( function( $ ) {
// Site title and description.
wp.customize( 'blogname', function( value ) {
value.bind( function( to ) {
$( '.site-title a' ).text( to );
} );
} );
wp.customize( 'blogdescription', function( value ) {
value.bind( function( to ) {
$( '.site-description' ).text( to );
} );
} );
// Header text color.
wp.customize( 'header_textcolor', function( value ) {
value.bind( function( to ) {
if ( 'blank' === to ) {
$( '.site-title, .site-description' ).css( {
clip: 'rect(1px, 1px, 1px, 1px)',
position: 'absolute',
} );
} else {
$( '.site-title, .site-description' ).css( {
clip: 'auto',
position: 'relative',
} );
$( '.site-title a, .site-description' ).css( {
color: to,
} );
}
} );
} );
var custom_preview = {
'pfx_scrolltop_position' : {'sel' : 'a#pfx-scroll-top', 'css' : "left" , 'val' : "{{val}}%"},
'pfx_scrolltop_padding' : {'sel' : 'a#pfx-scroll-top', 'css' : "padding" , 'val' : "{{val}}px"},
'pfx_scrolltop_borderwidth' : {'sel' : 'a#pfx-scroll-top', 'css' : "border" , 'val' : "{{val}}px solid"},
'pfx_scrolltop_borderradius' : {'sel' : 'a#pfx-scroll-top', 'css' : "border-radius" , 'val' : "{{val}}px"},
'pfx_scrolltop_bg_color' : {'sel' : 'a#pfx-scroll-top', 'css' : "background-color" , 'val' : "{{val}}"},
'pfx_scrolltop_color' : {'sel' : "a#pfx-scroll-top span.dashicons.dashicons-arrow-up-alt2", 'css' : "color" , 'val' : "{{val}}"},
'pfx_scrolltop_iconsize' : {'sel' : "a#pfx-scroll-top span.dashicons.dashicons-arrow-up-alt2", 'css' : ['width', 'height', 'font-size'] , 'val' : "{{val}}px"},
};
$.each( custom_preview, function (i, value){
// Append & Apply scrolltop setting
wp.customize( i, function(values) {
values.bind( function( to ){
var sel = value.sel;
var newVal = value.val;
newVal = newVal.split('{{val}}').join(to);
if(typeof value.css == 'object'){
for( var kk in value.css){
$( sel ).css( value.css[kk] , newVal );
}
return;
}
$( sel ).css( value.css , newVal );
});
});
});
}( jQuery ) );

View File

@@ -1,177 +1,177 @@
/**
* File navigation.js.
*
* Handles toggling the navigation menu for small screens and enables TAB key
* navigation support for dropdown menus.
*/
( function() {
var container, button, menu, links, i, len;
container = document.getElementById( 'site-navigation' );
if ( ! container ) {
return;
}
button = document.getElementsByClassName( 'menu-toggle' )[0];
if ( 'undefined' === typeof button ) {
return;
}
menu = container.getElementsByTagName( 'ul' )[0];
// Hide menu toggle button if menu is empty and return early.
if ( 'undefined' === typeof menu ) {
button.style.display = 'none';
return;
}
if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
menu.className += ' nav-menu';
}
button.onclick = function() {
if(container.classList.contains('hidden-mobile') == true){
container.className = container.className.replace( 'hidden-mobile', '' );
button.setAttribute( 'aria-expanded', 'false' );
}else{
container.className += ' hidden-mobile';
button.setAttribute( 'aria-expanded', 'true' );
}
};
// Close small menu when user clicks outside
document.addEventListener( 'click', function( event ) {
var isClickInside = container.contains( event.target );
if ( ! isClickInside ) {
container.className = container.className.replace( ' toggled', '' );
button.setAttribute( 'aria-expanded', 'false' );
}
} );
// Get all the link elements within the menu.
links = menu.getElementsByTagName( 'a' );
// Each time a menu link is focused or blurred, toggle focus.
for ( i = 0, len = links.length; i < len; i++ ) {
links[i].addEventListener( 'focus', toggleFocus, true );
links[i].addEventListener( 'blur', toggleFocus, true );
}
/**
* Sets or removes .focus class on an element.
*/
function toggleFocus() {
var self = this;
// Move up through the ancestors of the current link until we hit .nav-menu.
while ( -1 === self.className.indexOf( 'nav-menu' ) ) {
// On li elements toggle the class .focus.
if ( 'li' === self.tagName.toLowerCase() ) {
if ( -1 !== self.className.indexOf( 'focus' ) ) {
self.className = self.className.replace( ' focus', '' );
} else {
self.className += ' focus';
}
}
self = self.parentElement;
}
}
/**
* Toggles `focus` class to allow submenu access on tablets.
*/
( function() {
var touchStartFn,
parentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );
if ( 'ontouchstart' in window ) {
touchStartFn = function( e ) {
var menuItem = this.parentNode;
if ( ! menuItem.classList.contains( 'focus' ) ) {
e.preventDefault();
for ( i = 0; i < menuItem.parentNode.children.length; ++i ) {
if ( menuItem === menuItem.parentNode.children[i] ) {
continue;
}
menuItem.parentNode.children[i].classList.remove( 'focus' );
}
menuItem.classList.add( 'focus' );
} else {
menuItem.classList.remove( 'focus' );
}
};
for ( i = 0; i < parentLink.length; ++i ) {
parentLink[i].addEventListener( 'touchstart', touchStartFn, false );
}
}
}( container ) );
}() );
/**
* File skip-link-focus-fix.js.
*
* Helps with accessibility for keyboard only users.
*
* Learn more: https://git.io/vWdr2
*/
( function() {
var isIe = /(trident|msie)/i.test( navigator.userAgent );
if ( isIe && document.getElementById && window.addEventListener ) {
window.addEventListener( 'hashchange', function() {
var id = location.hash.substring( 1 ),
element;
if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
return;
}
element = document.getElementById( id );
if ( element ) {
if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
element.tabIndex = -1;
}
element.focus();
}
}, false );
}
}() );
jQuery(document).ready(function(){
// Toggle Scroll to top icon
pfx_toggle_scroll_top();
// Scroll handler
jQuery(window).on("scroll.scroll_top", function(){
pfx_toggle_scroll_top();
});
});
// Scroll to TOP
jQuery(document).on("click", "a.pfx-scroll-top", function(){
jQuery("html, body").animate({scrollTop : 0}, 700);
});
// Toggle Scroll to top icon
function pfx_toggle_scroll_top(){
var jEle = jQuery("a.pfx-scroll-top");
if( jQuery(window).scrollTop() > 200){
jEle.fadeIn();
return;
}
jEle.fadeOut();
/**
* File navigation.js.
*
* Handles toggling the navigation menu for small screens and enables TAB key
* navigation support for dropdown menus.
*/
( function() {
var container, button, menu, links, i, len;
container = document.getElementById( 'site-navigation' );
if ( ! container ) {
return;
}
button = document.getElementsByClassName( 'menu-toggle' )[0];
if ( 'undefined' === typeof button ) {
return;
}
menu = container.getElementsByTagName( 'ul' )[0];
// Hide menu toggle button if menu is empty and return early.
if ( 'undefined' === typeof menu ) {
button.style.display = 'none';
return;
}
if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
menu.className += ' nav-menu';
}
button.onclick = function() {
if(container.classList.contains('hidden-mobile') == true){
container.className = container.className.replace( 'hidden-mobile', '' );
button.setAttribute( 'aria-expanded', 'false' );
}else{
container.className += ' hidden-mobile';
button.setAttribute( 'aria-expanded', 'true' );
}
};
// Close small menu when user clicks outside
document.addEventListener( 'click', function( event ) {
var isClickInside = container.contains( event.target );
if ( ! isClickInside ) {
container.className = container.className.replace( ' toggled', '' );
button.setAttribute( 'aria-expanded', 'false' );
}
} );
// Get all the link elements within the menu.
links = menu.getElementsByTagName( 'a' );
// Each time a menu link is focused or blurred, toggle focus.
for ( i = 0, len = links.length; i < len; i++ ) {
links[i].addEventListener( 'focus', toggleFocus, true );
links[i].addEventListener( 'blur', toggleFocus, true );
}
/**
* Sets or removes .focus class on an element.
*/
function toggleFocus() {
var self = this;
// Move up through the ancestors of the current link until we hit .nav-menu.
while ( -1 === self.className.indexOf( 'nav-menu' ) ) {
// On li elements toggle the class .focus.
if ( 'li' === self.tagName.toLowerCase() ) {
if ( -1 !== self.className.indexOf( 'focus' ) ) {
self.className = self.className.replace( ' focus', '' );
} else {
self.className += ' focus';
}
}
self = self.parentElement;
}
}
/**
* Toggles `focus` class to allow submenu access on tablets.
*/
( function() {
var touchStartFn,
parentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );
if ( 'ontouchstart' in window ) {
touchStartFn = function( e ) {
var menuItem = this.parentNode;
if ( ! menuItem.classList.contains( 'focus' ) ) {
e.preventDefault();
for ( i = 0; i < menuItem.parentNode.children.length; ++i ) {
if ( menuItem === menuItem.parentNode.children[i] ) {
continue;
}
menuItem.parentNode.children[i].classList.remove( 'focus' );
}
menuItem.classList.add( 'focus' );
} else {
menuItem.classList.remove( 'focus' );
}
};
for ( i = 0; i < parentLink.length; ++i ) {
parentLink[i].addEventListener( 'touchstart', touchStartFn, false );
}
}
}( container ) );
}() );
/**
* File skip-link-focus-fix.js.
*
* Helps with accessibility for keyboard only users.
*
* Learn more: https://git.io/vWdr2
*/
( function() {
var isIe = /(trident|msie)/i.test( navigator.userAgent );
if ( isIe && document.getElementById && window.addEventListener ) {
window.addEventListener( 'hashchange', function() {
var id = location.hash.substring( 1 ),
element;
if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
return;
}
element = document.getElementById( id );
if ( element ) {
if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
element.tabIndex = -1;
}
element.focus();
}
}, false );
}
}() );
jQuery(document).ready(function(){
// Toggle Scroll to top icon
pfx_toggle_scroll_top();
// Scroll handler
jQuery(window).on("scroll.scroll_top", function(){
pfx_toggle_scroll_top();
});
});
// Scroll to TOP
jQuery(document).on("click", "a.pfx-scroll-top", function(){
jQuery("html, body").animate({scrollTop : 0}, 700);
});
// Toggle Scroll to top icon
function pfx_toggle_scroll_top(){
var jEle = jQuery("a.pfx-scroll-top");
if( jQuery(window).scrollTop() > 200){
jEle.fadeIn();
return;
}
jEle.fadeOut();
}

View File

@@ -1,197 +1,197 @@
# Copyright (C) 2020 PopularFX
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: popularfx 1.2.4\n"
"Report-Msgid-Bugs-To: https://popularfx.com/\n"
"Last-Translator: Pulkit Gupta <support@popularfx.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-04-17T21:03:15+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: PopularFX 1.2.4\n"
"X-Domain: popularfx\n"
#. Theme Name of the theme
msgid "popularfx"
msgstr ""
#. Theme URI of the theme
msgid "https://popularfx.com/"
msgstr ""
#. Description of the theme
msgid "This is a starter theme called <code>popularfx</code>. PopularFX is a theme meant for making themes with Pagelayer. Try turning this theme into the next, most awesome, WordPress theme out there !"
msgstr ""
#. Author of the theme
msgid "Pagelayer"
msgstr ""
#. Author URI of the theme
msgid "https://pagelayer.com/"
msgstr ""
#: 404.php:18
msgid "Oops! That page can&rsquo;t be found."
msgstr ""
#: 404.php:22
msgid "It looks like nothing was found at this location. Maybe try one of the links below or a search?"
msgstr ""
#: 404.php:31
msgid "Most Used Categories"
msgstr ""
#. translators: %1$s: smiley
#: 404.php:49
msgid "Try looking in the monthly archives. %1$s"
msgstr ""
#. translators: 1: title.
#: comments.php:35
msgid "One thought on &ldquo;%1$s&rdquo;"
msgstr ""
#. translators: 1: comment count number, 2: title.
#: comments.php:41
msgctxt "comments title"
msgid "%1$s thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] ""
msgstr[1] ""
#: comments.php:68
msgid "Comments are closed."
msgstr ""
#: footer.php:18
msgid "https://wordpress.org/"
msgstr ""
#. translators: %s: CMS name, i.e. WordPress.
#: footer.php:21
msgid "Proudly powered by %s"
msgstr ""
#. translators: 1: Theme name, 2: Theme author.
#: footer.php:27
msgid "Theme: %1$s by %2$s."
msgstr ""
#: functions.php:53
msgid "Primary"
msgstr ""
#: functions.php:130
msgid "Sidebar"
msgstr ""
#: functions.php:132
msgid "Add widgets here."
msgstr ""
#: header.php:26
msgid "Skip to content"
msgstr ""
#: header.php:49
msgid "Primary Menu"
msgstr ""
#. translators: %s: post date.
#: inc/template-tags.php:30
msgctxt "post date"
msgid "Posted on %s"
msgstr ""
#. translators: %s: post author.
#: inc/template-tags.php:46
msgctxt "post author"
msgid "by %s"
msgstr ""
#. translators: used between list items, there is a space after the comma
#: inc/template-tags.php:63
msgid ", "
msgstr ""
#. translators: 1: list of categories.
#: inc/template-tags.php:66
msgid "Posted in %1$s"
msgstr ""
#. translators: used between list items, there is a space after the comma
#: inc/template-tags.php:70
msgctxt "list item separator"
msgid ", "
msgstr ""
#. translators: 1: list of tags.
#: inc/template-tags.php:73
msgid "Tagged %1$s"
msgstr ""
#. translators: %s: post title
#: inc/template-tags.php:83
msgid "Leave a Comment<span class=\"screen-reader-text\"> on %s</span>"
msgstr ""
#. translators: %s: Name of current post. Only visible to screen readers
#: inc/template-tags.php:100
#: template-parts/content-page.php:39
msgid "Edit <span class=\"screen-reader-text\">%s</span>"
msgstr ""
#: inc/woocommerce.php:186
msgid "View your shopping cart"
msgstr ""
#. translators: number of items in the mini cart.
#: inc/woocommerce.php:190
msgid "%d item"
msgid_plural "%d items"
msgstr[0] ""
msgstr[1] ""
#. translators: %s: search query.
#: search.php:22
msgid "Search Results for: %s"
msgstr ""
#: single.php:23
msgid "Previous:"
msgstr ""
#: single.php:24
msgid "Next:"
msgstr ""
#: template-parts/content-none.php:14
msgid "Nothing Found"
msgstr ""
#. translators: 1: link to WP admin new post page.
#: template-parts/content-none.php:24
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr ""
#: template-parts/content-none.php:37
msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords."
msgstr ""
#: template-parts/content-none.php:44
msgid "It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help."
msgstr ""
#: template-parts/content-page.php:25
#: template-parts/content.php:53
msgid "Pages:"
msgstr ""
#. translators: %s: Name of current post. Only visible to screen readers
#: template-parts/content.php:40
msgid "Continue reading<span class=\"screen-reader-text\"> \"%s\"</span>"
msgstr ""
# Copyright (C) 2020 PopularFX
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: popularfx 1.2.4\n"
"Report-Msgid-Bugs-To: https://popularfx.com/\n"
"Last-Translator: Pulkit Gupta <support@popularfx.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-04-17T21:03:15+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: PopularFX 1.2.4\n"
"X-Domain: popularfx\n"
#. Theme Name of the theme
msgid "popularfx"
msgstr ""
#. Theme URI of the theme
msgid "https://popularfx.com/"
msgstr ""
#. Description of the theme
msgid "This is a starter theme called <code>popularfx</code>. PopularFX is a theme meant for making themes with Pagelayer. Try turning this theme into the next, most awesome, WordPress theme out there !"
msgstr ""
#. Author of the theme
msgid "Pagelayer"
msgstr ""
#. Author URI of the theme
msgid "https://pagelayer.com/"
msgstr ""
#: 404.php:18
msgid "Oops! That page can&rsquo;t be found."
msgstr ""
#: 404.php:22
msgid "It looks like nothing was found at this location. Maybe try one of the links below or a search?"
msgstr ""
#: 404.php:31
msgid "Most Used Categories"
msgstr ""
#. translators: %1$s: smiley
#: 404.php:49
msgid "Try looking in the monthly archives. %1$s"
msgstr ""
#. translators: 1: title.
#: comments.php:35
msgid "One thought on &ldquo;%1$s&rdquo;"
msgstr ""
#. translators: 1: comment count number, 2: title.
#: comments.php:41
msgctxt "comments title"
msgid "%1$s thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] ""
msgstr[1] ""
#: comments.php:68
msgid "Comments are closed."
msgstr ""
#: footer.php:18
msgid "https://wordpress.org/"
msgstr ""
#. translators: %s: CMS name, i.e. WordPress.
#: footer.php:21
msgid "Proudly powered by %s"
msgstr ""
#. translators: 1: Theme name, 2: Theme author.
#: footer.php:27
msgid "Theme: %1$s by %2$s."
msgstr ""
#: functions.php:53
msgid "Primary"
msgstr ""
#: functions.php:130
msgid "Sidebar"
msgstr ""
#: functions.php:132
msgid "Add widgets here."
msgstr ""
#: header.php:26
msgid "Skip to content"
msgstr ""
#: header.php:49
msgid "Primary Menu"
msgstr ""
#. translators: %s: post date.
#: inc/template-tags.php:30
msgctxt "post date"
msgid "Posted on %s"
msgstr ""
#. translators: %s: post author.
#: inc/template-tags.php:46
msgctxt "post author"
msgid "by %s"
msgstr ""
#. translators: used between list items, there is a space after the comma
#: inc/template-tags.php:63
msgid ", "
msgstr ""
#. translators: 1: list of categories.
#: inc/template-tags.php:66
msgid "Posted in %1$s"
msgstr ""
#. translators: used between list items, there is a space after the comma
#: inc/template-tags.php:70
msgctxt "list item separator"
msgid ", "
msgstr ""
#. translators: 1: list of tags.
#: inc/template-tags.php:73
msgid "Tagged %1$s"
msgstr ""
#. translators: %s: post title
#: inc/template-tags.php:83
msgid "Leave a Comment<span class=\"screen-reader-text\"> on %s</span>"
msgstr ""
#. translators: %s: Name of current post. Only visible to screen readers
#: inc/template-tags.php:100
#: template-parts/content-page.php:39
msgid "Edit <span class=\"screen-reader-text\">%s</span>"
msgstr ""
#: inc/woocommerce.php:186
msgid "View your shopping cart"
msgstr ""
#. translators: number of items in the mini cart.
#: inc/woocommerce.php:190
msgid "%d item"
msgid_plural "%d items"
msgstr[0] ""
msgstr[1] ""
#. translators: %s: search query.
#: search.php:22
msgid "Search Results for: %s"
msgstr ""
#: single.php:23
msgid "Previous:"
msgstr ""
#: single.php:24
msgid "Next:"
msgstr ""
#: template-parts/content-none.php:14
msgid "Nothing Found"
msgstr ""
#. translators: 1: link to WP admin new post page.
#: template-parts/content-none.php:24
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr ""
#: template-parts/content-none.php:37
msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords."
msgstr ""
#: template-parts/content-none.php:44
msgid "It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help."
msgstr ""
#: template-parts/content-page.php:25
#: template-parts/content.php:53
msgid "Pages:"
msgstr ""
#. translators: %s: Name of current post. Only visible to screen readers
#: template-parts/content.php:40
msgid "Continue reading<span class=\"screen-reader-text\"> \"%s\"</span>"
msgstr ""

View File

@@ -1,7 +1,7 @@
Place your theme language files in this directory.
Please visit the following links to learn more about translating WordPress themes:
https://make.wordpress.org/polyglots/teams/
https://developer.wordpress.org/themes/functionality/localization/
https://developer.wordpress.org/reference/functions/load_theme_textdomain/
Place your theme language files in this directory.
Please visit the following links to learn more about translating WordPress themes:
https://make.wordpress.org/polyglots/teams/
https://developer.wordpress.org/themes/functionality/localization/
https://developer.wordpress.org/reference/functions/load_theme_textdomain/

View File

@@ -1,38 +1,38 @@
<?php
/**
* The template for displaying all pages
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other 'pages' on your WordPress site may use a
* different template.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile; // End of the loop.
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();
<?php
/**
* The template for displaying all pages
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other 'pages' on your WordPress site may use a
* different template.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile; // End of the loop.
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();

View File

@@ -1,283 +1,283 @@
=== PopularFX ===
Contributors: pagelayer
License: LGPL-2.1-or-later
License URI: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, entertainment, full-width-template, one-column, two-columns, left-sidebar, e-commerce, right-sidebar, microformats, post-formats, theme-options, blog, rtl-language-support
Requires at least: 4.5
Tested up to: 6.0
Requires PHP: 5.5
Stable tag: 1.2.5
A starter theme called PopularFX.
== Description ==
PopularFX is a lightweight theme to make beautiful websites with Pagelayer. PopularFX can be used for a blogging site, WooCommerce Store, Business website, personal portfolio, etc. It is also specially tailored for Pagelayer so that you can use the drag and drop features to easily build your website ! It is a simple and fast base theme. We hope you enjoy building your site with PopularFX.
Features :
# Lightweight
# WooCommerce Ready
# Responsive
# RTL
# Translation Ready
# Supports Pagelayer
# Simple Design
== Installation ==
= From within WordPress =
1. Visit "Appearance > Themes > Add New"
2. Search for "PopularFX"
3. Install and activate
== Frequently Asked Questions ==
= Does this theme support any plugins? =
PopularFX includes support for Pagelayer, WooCommerce and for Infinite Scroll in Jetpack.
== Changelog ==
= 1.2.5 - Feb 02 2024 =
* [Security-fix] There was a privilege check failure which has been fixed.
= 1.2.2 - Dec 17 2021 =
* Customizer Max width bug fixed
* PHP 8 Compatibility
* WooCommerce Products Archive fix to set 1 column
= 1.2.1 - Oct 01 2021 =
* Added Scroll to Top Feature
* WooCommerce design improvement and compatibily has been improved
* Google Fonts list has been updated
* Pagelayer compatibily has been improved
* Child themes are now fully supported
* WooCommerce sidebar option added
* Added support for Alpha color in our customizer settings
= 1.2.0 - Jan 22 2021 =
* WooCommerce compatibily improved !
= 1.1.9 - Jan 4 2021 =
* Customizer changes to fix the CSS code that was visible
= 1.1.8 - Nov 11 2020 =
* Added a check so that only 1 notice is shown at any point in time
= 1.1.7 - Nov 4 2020 =
* Added getting started video link
= 1.1.6 - Nov 2 2020 =
* Updated some URLs which were no escaped with esc_url
= 1.1.5 - Oct 27 2020 =
* If the templates and pages were more than 10, the header or footer edit links were not shown in the Customizer
= 1.1.4 - Oct 14 2020 =
* Major bug fix for pfx-template style.css getting deleted on theme update.
= 1.1.3 - Oct 13 2020 =
* Blog template responsive improvement
= 1.1.2 - Oct 11 2020 =
* Updated templates.png
= 1.1.1 - Oct 9 2020 =
* Buttons changed to core UI buttons
= 1.1.0 - Oct 7 2020 =
* Changed screenshots and made other changes as required by the WordPress Theme Team
= 1.0.9 - Sept 26 2020 =
* Added option to see Pagelayer templates in Customizer
* Removed unnecessary codes
= 1.0.8 - Sept 21 2020 =
* Fixed woocommerce support
= 1.0.7 - Sept 19 2020 =
* Fixed background color, custom header and custom logo
= 1.0.4 - Aug 28 2020 =
* wp_body_open() fallback added
= 1.0.4 - Aug 26 2020 =
* Changes made after Theme Review
= 1.0.3 - Aug 17 2020 =
* The content width bug is now fixed
= 1.0.2 - Aug 11 2020 =
* Screenshot updated another time
* Made small changes to the code
= 1.0.1 - Aug 11 2020 =
* Screenshot updated to a simpler one
= 1.0 - Aug 11 2020 =
* Initial release
== Credits ==
* normalize.css https://necolas.github.io/normalize.css/, (C) 2012-2018 Nicolas Gallagher and Jonathan Neal, [MIT](https://opensource.org/licenses/MIT)
* PopularFX Template Screenshot contains fonts from https://fontawesome.com/ which is GPL compatible : https://fontawesome.com/license/free
* Some parts of _s theme are incorporated in this theme and are licensed under GPLv3
* Logos of Loginizer, Pagelayer, PopularFX are owned by Pulkit Gupta who are the creators of this theme.
* Facebook, Twitter logos are properties of their respective owners !
== templates.png Credits ==
/*--------------------------------------------------------------
## Blossom Template
--------------------------------------------------------------*/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/1564919
https://pxhere.com/en/photo/991341
https://pxhere.com/en/photo/1254723
https://pxhere.com/en/photo/1119894
https://pxhere.com/en/photo/1602065
https://pxhere.com/en/photo/61089
https://pxhere.com/en/photo/31512
https://pxhere.com/en/photo/1121354
https://pxhere.com/en/photo/1594483
https://pxhere.com/en/photo/1409975
https://pxhere.com/en/photo/965001
https://pxhere.com/en/photo/853252
https://pxhere.com/en/photo/720315
https://pxhere.com/en/photo/1412037
https://pxhere.com/en/photo/1553541
https://pxhere.com/en/photo/1169820
https://pxhere.com/en/photo/1037315
https://pxhere.com/en/photo/1284323
https://pxhere.com/en/photo/559486
https://pxhere.com/en/photo/759714
https://pxhere.com/en/photo/1077931
/*--------------------------------------------------------------
## Chemist Template
--------------------------------------------------------------*/
--------------------- Pixy ---------------------
https://pixy.org/4766679/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/968144
https://pxhere.com/en/photo/1537787
https://pxhere.com/en/photo/1550101
https://pxhere.com/en/photo/198299
https://pxhere.com/en/photo/778248
https://pxhere.com/en/photo/1283019
https://pxhere.com/en/photo/1107101
https://pxhere.com/en/photo/1107120
https://pxhere.com/en/photo/878136
https://pxhere.com/en/photo/968149
https://pxhere.com/en/photo/1446751
https://pxhere.com/en/photo/1215588
https://pxhere.com/en/photo/1194636
https://pxhere.com/en/photo/695270
https://pxhere.com/en/photo/1005258
https://pxhere.com/en/photo/655882
/*--------------------------------------------------------------
## Foodies Template
--------------------------------------------------------------*/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/913533
https://pxhere.com/en/photo/1597798
https://pxhere.com/en/photo/1046506
https://pxhere.com/en/photo/927054
https://pxhere.com/en/photo/889300
https://pxhere.com/en/photo/1411428
https://pxhere.com/en/photo/1594964
https://pxhere.com/en/photo/1593578
https://pxhere.com/en/photo/1603588
https://pxhere.com/en/photo/1417897
https://pxhere.com/en/photo/1608257
https://pxhere.com/en/photo/780582
https://pxhere.com/en/photo/1046506
https://pxhere.com/en/photo/595291
https://pxhere.com/en/photo/1435659
https://pxhere.com/en/photo/992355
https://pxhere.com/en/photo/1568155
https://pxhere.com/en/photo/1418585
https://pxhere.com/en/photo/1410472
https://pxhere.com/en/photo/671156
https://pxhere.com/en/photo/181538
https://pxhere.com/en/photo/833171
https://pxhere.com/en/photo/121607
https://pxhere.com/en/photo/99177
https://pxhere.com/en/photo/1418590
https://pxhere.com/en/photo/1417896
https://pxhere.com/en/photo/1553541
https://pxhere.com/en/photo/1037315
https://pxhere.com/en/photo/759714
/*--------------------------------------------------------------
## Asana Template
--------------------------------------------------------------*/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/826128
https://pxhere.com/en/photo/1604353
https://pxhere.com/en/photo/1332200
https://pxhere.com/en/photo/1556311
https://pxhere.com/en/photo/977078
https://pxhere.com/en/photo/1198258
https://pxhere.com/en/photo/1161475
https://pxhere.com/en/photo/861619
https://pxhere.com/en/photo/1038451
https://pxhere.com/en/photo/1351808
https://pxhere.com/en/photo/542275
https://pxhere.com/en/photo/1621514
https://pxhere.com/en/photo/1613007
https://pxhere.com/en/photo/1575045
https://pxhere.com/en/photo/1029212
https://pxhere.com/en/photo/1391675
https://pxhere.com/en/photo/1394621
https://pxhere.com/en/photo/1622675
https://pxhere.com/en/photo/949488
https://pxhere.com/en/photo/1622692
https://pxhere.com/en/photo/1084638
https://pxhere.com/en/photo/661351
https://pxhere.com/en/photo/1621388
https://pxhere.com/en/photo/1575051
https://pxhere.com/en/photo/1179715
/*--------------------------------------------------------------
## Snowski Template
--------------------------------------------------------------*/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/1365738
https://pxhere.com/en/photo/1397434
https://pxhere.com/en/photo/751317
https://pxhere.com/en/photo/661555
https://pxhere.com/en/photo/650719
https://pxhere.com/en/photo/751317
https://pxhere.com/en/photo/45600
https://pxhere.com/en/photo/918955
https://pxhere.com/en/photo/136447
https://pxhere.com/en/photo/1204
https://pxhere.com/en/photo/139188
https://pxhere.com/en/photo/1390051
https://pxhere.com/en/photo/1592318
https://pxhere.com/en/photo/1260422
https://pxhere.com/en/photo/1603805
https://pxhere.com/en/photo/511929
https://pxhere.com/en/photo/1405993
=== PopularFX ===
Contributors: pagelayer
License: LGPL-2.1-or-later
License URI: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, entertainment, full-width-template, one-column, two-columns, left-sidebar, e-commerce, right-sidebar, microformats, post-formats, theme-options, blog, rtl-language-support
Requires at least: 4.5
Tested up to: 6.0
Requires PHP: 5.5
Stable tag: 1.2.5
A starter theme called PopularFX.
== Description ==
PopularFX is a lightweight theme to make beautiful websites with Pagelayer. PopularFX can be used for a blogging site, WooCommerce Store, Business website, personal portfolio, etc. It is also specially tailored for Pagelayer so that you can use the drag and drop features to easily build your website ! It is a simple and fast base theme. We hope you enjoy building your site with PopularFX.
Features :
# Lightweight
# WooCommerce Ready
# Responsive
# RTL
# Translation Ready
# Supports Pagelayer
# Simple Design
== Installation ==
= From within WordPress =
1. Visit "Appearance > Themes > Add New"
2. Search for "PopularFX"
3. Install and activate
== Frequently Asked Questions ==
= Does this theme support any plugins? =
PopularFX includes support for Pagelayer, WooCommerce and for Infinite Scroll in Jetpack.
== Changelog ==
= 1.2.5 - Feb 02 2024 =
* [Security-fix] There was a privilege check failure which has been fixed.
= 1.2.2 - Dec 17 2021 =
* Customizer Max width bug fixed
* PHP 8 Compatibility
* WooCommerce Products Archive fix to set 1 column
= 1.2.1 - Oct 01 2021 =
* Added Scroll to Top Feature
* WooCommerce design improvement and compatibily has been improved
* Google Fonts list has been updated
* Pagelayer compatibily has been improved
* Child themes are now fully supported
* WooCommerce sidebar option added
* Added support for Alpha color in our customizer settings
= 1.2.0 - Jan 22 2021 =
* WooCommerce compatibily improved !
= 1.1.9 - Jan 4 2021 =
* Customizer changes to fix the CSS code that was visible
= 1.1.8 - Nov 11 2020 =
* Added a check so that only 1 notice is shown at any point in time
= 1.1.7 - Nov 4 2020 =
* Added getting started video link
= 1.1.6 - Nov 2 2020 =
* Updated some URLs which were no escaped with esc_url
= 1.1.5 - Oct 27 2020 =
* If the templates and pages were more than 10, the header or footer edit links were not shown in the Customizer
= 1.1.4 - Oct 14 2020 =
* Major bug fix for pfx-template style.css getting deleted on theme update.
= 1.1.3 - Oct 13 2020 =
* Blog template responsive improvement
= 1.1.2 - Oct 11 2020 =
* Updated templates.png
= 1.1.1 - Oct 9 2020 =
* Buttons changed to core UI buttons
= 1.1.0 - Oct 7 2020 =
* Changed screenshots and made other changes as required by the WordPress Theme Team
= 1.0.9 - Sept 26 2020 =
* Added option to see Pagelayer templates in Customizer
* Removed unnecessary codes
= 1.0.8 - Sept 21 2020 =
* Fixed woocommerce support
= 1.0.7 - Sept 19 2020 =
* Fixed background color, custom header and custom logo
= 1.0.4 - Aug 28 2020 =
* wp_body_open() fallback added
= 1.0.4 - Aug 26 2020 =
* Changes made after Theme Review
= 1.0.3 - Aug 17 2020 =
* The content width bug is now fixed
= 1.0.2 - Aug 11 2020 =
* Screenshot updated another time
* Made small changes to the code
= 1.0.1 - Aug 11 2020 =
* Screenshot updated to a simpler one
= 1.0 - Aug 11 2020 =
* Initial release
== Credits ==
* normalize.css https://necolas.github.io/normalize.css/, (C) 2012-2018 Nicolas Gallagher and Jonathan Neal, [MIT](https://opensource.org/licenses/MIT)
* PopularFX Template Screenshot contains fonts from https://fontawesome.com/ which is GPL compatible : https://fontawesome.com/license/free
* Some parts of _s theme are incorporated in this theme and are licensed under GPLv3
* Logos of Loginizer, Pagelayer, PopularFX are owned by Pulkit Gupta who are the creators of this theme.
* Facebook, Twitter logos are properties of their respective owners !
== templates.png Credits ==
/*--------------------------------------------------------------
## Blossom Template
--------------------------------------------------------------*/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/1564919
https://pxhere.com/en/photo/991341
https://pxhere.com/en/photo/1254723
https://pxhere.com/en/photo/1119894
https://pxhere.com/en/photo/1602065
https://pxhere.com/en/photo/61089
https://pxhere.com/en/photo/31512
https://pxhere.com/en/photo/1121354
https://pxhere.com/en/photo/1594483
https://pxhere.com/en/photo/1409975
https://pxhere.com/en/photo/965001
https://pxhere.com/en/photo/853252
https://pxhere.com/en/photo/720315
https://pxhere.com/en/photo/1412037
https://pxhere.com/en/photo/1553541
https://pxhere.com/en/photo/1169820
https://pxhere.com/en/photo/1037315
https://pxhere.com/en/photo/1284323
https://pxhere.com/en/photo/559486
https://pxhere.com/en/photo/759714
https://pxhere.com/en/photo/1077931
/*--------------------------------------------------------------
## Chemist Template
--------------------------------------------------------------*/
--------------------- Pixy ---------------------
https://pixy.org/4766679/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/968144
https://pxhere.com/en/photo/1537787
https://pxhere.com/en/photo/1550101
https://pxhere.com/en/photo/198299
https://pxhere.com/en/photo/778248
https://pxhere.com/en/photo/1283019
https://pxhere.com/en/photo/1107101
https://pxhere.com/en/photo/1107120
https://pxhere.com/en/photo/878136
https://pxhere.com/en/photo/968149
https://pxhere.com/en/photo/1446751
https://pxhere.com/en/photo/1215588
https://pxhere.com/en/photo/1194636
https://pxhere.com/en/photo/695270
https://pxhere.com/en/photo/1005258
https://pxhere.com/en/photo/655882
/*--------------------------------------------------------------
## Foodies Template
--------------------------------------------------------------*/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/913533
https://pxhere.com/en/photo/1597798
https://pxhere.com/en/photo/1046506
https://pxhere.com/en/photo/927054
https://pxhere.com/en/photo/889300
https://pxhere.com/en/photo/1411428
https://pxhere.com/en/photo/1594964
https://pxhere.com/en/photo/1593578
https://pxhere.com/en/photo/1603588
https://pxhere.com/en/photo/1417897
https://pxhere.com/en/photo/1608257
https://pxhere.com/en/photo/780582
https://pxhere.com/en/photo/1046506
https://pxhere.com/en/photo/595291
https://pxhere.com/en/photo/1435659
https://pxhere.com/en/photo/992355
https://pxhere.com/en/photo/1568155
https://pxhere.com/en/photo/1418585
https://pxhere.com/en/photo/1410472
https://pxhere.com/en/photo/671156
https://pxhere.com/en/photo/181538
https://pxhere.com/en/photo/833171
https://pxhere.com/en/photo/121607
https://pxhere.com/en/photo/99177
https://pxhere.com/en/photo/1418590
https://pxhere.com/en/photo/1417896
https://pxhere.com/en/photo/1553541
https://pxhere.com/en/photo/1037315
https://pxhere.com/en/photo/759714
/*--------------------------------------------------------------
## Asana Template
--------------------------------------------------------------*/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/826128
https://pxhere.com/en/photo/1604353
https://pxhere.com/en/photo/1332200
https://pxhere.com/en/photo/1556311
https://pxhere.com/en/photo/977078
https://pxhere.com/en/photo/1198258
https://pxhere.com/en/photo/1161475
https://pxhere.com/en/photo/861619
https://pxhere.com/en/photo/1038451
https://pxhere.com/en/photo/1351808
https://pxhere.com/en/photo/542275
https://pxhere.com/en/photo/1621514
https://pxhere.com/en/photo/1613007
https://pxhere.com/en/photo/1575045
https://pxhere.com/en/photo/1029212
https://pxhere.com/en/photo/1391675
https://pxhere.com/en/photo/1394621
https://pxhere.com/en/photo/1622675
https://pxhere.com/en/photo/949488
https://pxhere.com/en/photo/1622692
https://pxhere.com/en/photo/1084638
https://pxhere.com/en/photo/661351
https://pxhere.com/en/photo/1621388
https://pxhere.com/en/photo/1575051
https://pxhere.com/en/photo/1179715
/*--------------------------------------------------------------
## Snowski Template
--------------------------------------------------------------*/
--------------------- Pxhere ---------------------
https://pxhere.com/en/photo/1365738
https://pxhere.com/en/photo/1397434
https://pxhere.com/en/photo/751317
https://pxhere.com/en/photo/661555
https://pxhere.com/en/photo/650719
https://pxhere.com/en/photo/751317
https://pxhere.com/en/photo/45600
https://pxhere.com/en/photo/918955
https://pxhere.com/en/photo/136447
https://pxhere.com/en/photo/1204
https://pxhere.com/en/photo/139188
https://pxhere.com/en/photo/1390051
https://pxhere.com/en/photo/1592318
https://pxhere.com/en/photo/1260422
https://pxhere.com/en/photo/1603805
https://pxhere.com/en/photo/511929
https://pxhere.com/en/photo/1405993

View File

@@ -1,53 +1,53 @@
<?php
/**
* The template for displaying search results pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#search-result
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title">
<?php
/* translators: %s: search query. */
printf( esc_html__( 'Search Results for: %s', 'popularfx' ), '<span>' . get_search_query() . '</span>' );
?>
</h1>
</header><!-- .page-header -->
<?php
/* Start the Loop */
while ( have_posts() ) :
the_post();
/**
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( 'template-parts/content', 'search' );
endwhile;
the_posts_navigation();
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();
<?php
/**
* The template for displaying search results pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#search-result
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title">
<?php
/* translators: %s: search query. */
printf( esc_html__( 'Search Results for: %s', 'popularfx' ), '<span>' . get_search_query() . '</span>' );
?>
</h1>
</header><!-- .page-header -->
<?php
/* Start the Loop */
while ( have_posts() ) :
the_post();
/**
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( 'template-parts/content', 'search' );
endwhile;
the_posts_navigation();
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,19 @@
<?php
/**
* The sidebar containing the main widget area
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* @package PopularFX
*/
$enabled = popularfx_sidebar();
if(empty($enabled)){
return;
}
?>
<aside id="secondary" class="widget-area">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
<?php
/**
* The sidebar containing the main widget area
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* @package PopularFX
*/
$enabled = popularfx_sidebar();
if(empty($enabled)){
return;
}
?>
<aside id="secondary" class="widget-area">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</aside><!-- #secondary -->

View File

@@ -1,40 +1,40 @@
<?php
/**
* The template for displaying all single posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content', get_post_type() );
the_post_navigation(
array(
'prev_text' => '<span class="nav-subtitle">' . esc_html__( 'Previous:', 'popularfx' ) . '</span> <span class="nav-title">%title</span>',
'next_text' => '<span class="nav-subtitle">' . esc_html__( 'Next:', 'popularfx' ) . '</span> <span class="nav-title">%title</span>',
)
);
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile; // End of the loop.
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();
<?php
/**
* The template for displaying all single posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
*
* @package PopularFX
*/
get_header();
?>
<main id="primary" class="site-main">
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content', get_post_type() );
the_post_navigation(
array(
'prev_text' => '<span class="nav-subtitle">' . esc_html__( 'Previous:', 'popularfx' ) . '</span> <span class="nav-title">%title</span>',
'next_text' => '<span class="nav-subtitle">' . esc_html__( 'Next:', 'popularfx' ) . '</span> <span class="nav-title">%title</span>',
)
);
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile; // End of the loop.
?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,51 +1,51 @@
<?php
/**
* Template part for displaying a message that posts cannot be found
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
?>
<section class="no-results not-found">
<header class="page-header">
<h1 class="page-title"><?php esc_html_e( 'Nothing Found', 'popularfx' ); ?></h1>
</header><!-- .page-header -->
<div class="page-content">
<?php
if ( is_home() && current_user_can( 'publish_posts' ) ) :
printf(
'<p>' . wp_kses(
/* translators: 1: link to WP admin new post page. */
__( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'popularfx' ),
array(
'a' => array(
'href' => array(),
),
)
) . '</p>',
esc_url( admin_url( 'post-new.php' ) )
);
elseif ( is_search() ) :
?>
<p><?php esc_html_e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'popularfx' ); ?></p>
<?php
get_search_form();
else :
?>
<p><?php esc_html_e( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'popularfx' ); ?></p>
<?php
get_search_form();
endif;
?>
</div><!-- .page-content -->
</section><!-- .no-results -->
<?php
/**
* Template part for displaying a message that posts cannot be found
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
?>
<section class="no-results not-found">
<header class="page-header">
<h1 class="page-title"><?php esc_html_e( 'Nothing Found', 'popularfx' ); ?></h1>
</header><!-- .page-header -->
<div class="page-content">
<?php
if ( is_home() && current_user_can( 'publish_posts' ) ) :
printf(
'<p>' . wp_kses(
/* translators: 1: link to WP admin new post page. */
__( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'popularfx' ),
array(
'a' => array(
'href' => array(),
),
)
) . '</p>',
esc_url( admin_url( 'post-new.php' ) )
);
elseif ( is_search() ) :
?>
<p><?php esc_html_e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'popularfx' ); ?></p>
<?php
get_search_form();
else :
?>
<p><?php esc_html_e( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'popularfx' ); ?></p>
<?php
get_search_form();
endif;
?>
</div><!-- .page-content -->
</section><!-- .no-results -->

View File

@@ -1,54 +1,54 @@
<?php
/**
* Template part for displaying page content in page.php
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php popularfx_the_title( '<h1 class="entry-title">', '</h1>' ); ?>
</header><!-- .entry-header -->
<?php popularfx_post_thumbnail(); ?>
<div class="entry-content">
<?php
the_content();
wp_link_pages(
array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'popularfx' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<?php if ( get_edit_post_link() ) : ?>
<footer class="entry-footer">
<?php
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Edit <span class="screen-reader-text">%s</span>', 'popularfx' ),
array(
'span' => array(
'class' => array(),
),
)
),
wp_kses_post( get_the_title() )
),
'<span class="edit-link">',
'</span>'
);
?>
</footer><!-- .entry-footer -->
<?php endif; ?>
</article><!-- #post-<?php the_ID(); ?> -->
<?php
/**
* Template part for displaying page content in page.php
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php popularfx_the_title( '<h1 class="entry-title">', '</h1>' ); ?>
</header><!-- .entry-header -->
<?php popularfx_post_thumbnail(); ?>
<div class="entry-content">
<?php
the_content();
wp_link_pages(
array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'popularfx' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<?php if ( get_edit_post_link() ) : ?>
<footer class="entry-footer">
<?php
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Edit <span class="screen-reader-text">%s</span>', 'popularfx' ),
array(
'span' => array(
'class' => array(),
),
)
),
wp_kses_post( get_the_title() )
),
'<span class="edit-link">',
'</span>'
);
?>
</footer><!-- .entry-footer -->
<?php endif; ?>
</article><!-- #post-<?php the_ID(); ?> -->

View File

@@ -1,35 +1,35 @@
<?php
/**
* Template part for displaying results in search pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
<?php if ( 'post' === get_post_type() ) : ?>
<div class="entry-meta">
<?php
popularfx_posted_on();
popularfx_posted_by();
?>
</div><!-- .entry-meta -->
<?php endif; ?>
</header><!-- .entry-header -->
<?php popularfx_post_thumbnail(); ?>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div><!-- .entry-summary -->
<footer class="entry-footer">
<?php popularfx_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->
<?php
/**
* Template part for displaying results in search pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
<?php if ( 'post' === get_post_type() ) : ?>
<div class="entry-meta">
<?php
popularfx_posted_on();
popularfx_posted_by();
?>
</div><!-- .entry-meta -->
<?php endif; ?>
</header><!-- .entry-header -->
<?php popularfx_post_thumbnail(); ?>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div><!-- .entry-summary -->
<footer class="entry-footer">
<?php popularfx_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->

View File

@@ -1,63 +1,63 @@
<?php
/**
* Template part for displaying posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
?>
<article class="article" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php
if ( is_singular() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
endif;
if ( 'post' === get_post_type() ) :
?>
<div class="entry-meta">
<?php
popularfx_posted_on();
popularfx_posted_by();
?>
</div><!-- .entry-meta -->
<?php endif; ?>
</header><!-- .entry-header -->
<?php popularfx_post_thumbnail(); ?>
<div class="entry-content">
<?php
the_content(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'popularfx' ),
array(
'span' => array(
'class' => array(),
),
)
),
wp_kses_post( get_the_title() )
)
);
wp_link_pages(
array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'popularfx' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php popularfx_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->
<?php
/**
* Template part for displaying posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package PopularFX
*/
?>
<article class="article" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php
if ( is_singular() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
endif;
if ( 'post' === get_post_type() ) :
?>
<div class="entry-meta">
<?php
popularfx_posted_on();
popularfx_posted_by();
?>
</div><!-- .entry-meta -->
<?php endif; ?>
</header><!-- .entry-header -->
<?php popularfx_post_thumbnail(); ?>
<div class="entry-content">
<?php
the_content(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'popularfx' ),
array(
'span' => array(
'class' => array(),
),
)
),
wp_kses_post( get_the_title() )
)
);
wp_link_pages(
array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'popularfx' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php popularfx_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff