Intereting Posts

Как я могу показать форму подписки Jetpack на странице?

В плагине Jetpack модуль подписки может быть включен в ваш блог, следуя этим инструкциям:

Чтобы использовать виджет «Подписки», перейдите в «Внешний вид → Виджеты». Перетащите виджет с надписью «Подписки блога (Jetpack)» в одну из ваших боковых панелей и настройте прочь.

Меня интересует включение формы подписки на странице на моем сайте в главном разделе страницы. Есть ли какой-то короткий код или другой способ, с помощью которого я могу легко включить форму подписки в свой контент страницы? Или для этого мне нужно было бы определить новую боковую панель, поместить виджет подписок на боковую панель и создать собственный шаблон, который включает эту новую боковую панель на этой странице (довольно громоздкое упражнение)?

Solutions Collecting From Web of "Как я могу показать форму подписки Jetpack на странице?"

Rightpack теперь предлагает только способ встраивания подписки в виде виджета боковой панели. Регистрация новой боковой панели была бы лучшей идеей для этого, и это не займет больше нескольких секунд.

Шаг 1 – Зарегистрируйте боковую панель для jetpack

Просто запустите этот код где-нибудь в файле functions.php вашей темы.

 register_sidebar( array( 'name' => 'JetPack in page', 'id' => 'jetpack-in-page', 'before_widget' => '<div id="jetpack">', 'after_widget' => '</div>', 'before_title' => '<h3>', 'after_title' => '</h3>' ) ); 

Шаг 2. Где вы хотите, чтобы форма появилась?

Теперь разместите следующий код, в котором вы хотите получить форму. Anywhere в теме, вы можете поместить этот код только ниже <?php the_content(); ?> <?php the_content(); ?> Таким образом, он будет показывать только ваш контент для страницы / сообщения.

 <?php dynamic_sidebar( 'jetpack-in-page' ); ?> 

Шаг 3 – Сделано!

Теперь перетащите виджет в JetPack in page боковой панели JetPack in page и форма будет показана на странице. Однако виджет специально создан для боковых панелей, поэтому вам может понадобиться сделать несколько стилей, чтобы он выглядел лучше на полной странице.

Ссылка – register_sidebar(); (WordPress Codex)

Вы можете пропустить шаг боковой панели, используя the_widget() в шаблоне, чтобы отобразить экземпляр виджета, который вам нужен.

Попробуйте следующее: (Скопируйте и вставьте код ниже в functions.php)

 // Get page url >> webcheatsheet.com/php/get_current_page_url.php function itp_current_page_url() { $page_url = 'http'; if( isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on" ) { $page_url .= "s" ;} $page_url .= "://"; if( $_SERVER["SERVER_PORT"] != "80" ) { $page_url .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; } else { $page_url .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; } return $page_url; } // end itp_current_page_url // Jetpack subscription form shortcode by http://www.itechplus.org function itp_jetpack_subscription_form_shortcode( $atts, $content = '', $code = '' ) { extract( shortcode_atts( array( 'title' => 'Email Subscription', 'desc' => 'Enter your email address to subscribe to this website and receive notifications of new articles by email.', 'button' => 'Subscribe', 'placeholder' => 'Email Address', ), $atts ) ); global $post; // Build current page url if( is_home() || is_front_page() ) { $url = home_url('/'); } elseif( is_singular() ) { $url = get_permalink($post->ID); } else { $url = itp_current_page_url(); } $jetpack_subscribe = ''; // Build jetpack subscription form if( $title != '' ) { $jetpack_subscribe .= '<h3 class="widget-title"> <label for="subscribe-field">' . $title . '</label> </h3>'; } $jetpack_subscribe .= '<form id="subscribe-blog-blog_subscription-' . time() . '" accept-charset="' . get_bloginfo( 'charset' ) . '" method="post" action="">'; if( $desc != '' ) { $jetpack_subscribe .= '<p>' . $desc . '</p>'; } $jetpack_subscribe .= '<p> <input id="subscribe-field" class="input email" type="email" placeholder="'. $placeholder .'" onblur="if( this.value == \'\' ) { this.value = \'' . $placeholder . '\'; }" onclick="if ( this.value == \'' . $placeholder . '\' ) { this.value = \'\'; }" value="' . $placeholder . '" style="width: 95%; padding: 1px 2px" name="email" /> </p> <p> <input type="hidden" value="subscribe" name="action" /> <input type="hidden" value="' . $url . '" name="source" /> <input type="hidden" value="widget" name="sub-type"> <input type="hidden" value="blog_subscription-' . time() . '" name="redirect_fragment" /> <input type="submit" class="input subbmit" name="jetpack_subscriptions_widget" value="' . $button . '" /> </p> </form>'; return $jetpack_subscribe; } add_shortcode( 'itp_email_subscription', 'itp_jetpack_subscription_form_shortcode' ); 

Если Jetpack установлен и активирован, примените короткий код на любой странице или в любом текстовом виджжете, таким образом:

 [itp_email_subscription title="Some Title" desc="Some description here" placeholder="Placeholder" button="Button"] 

Готово! Не проверено. сообщите мне, есть ли ошибки. Счастливое кодирование 🙂