WordPress: ავტომატურად შექმენით გვერდითი ზოლები თითოეული კატეგორიისთვის
მე ამ საიტს ვამარტივებდი სიჩქარის დროის გასაუმჯობესებლად და ვეცდებოდი საიტის უკეთ მონეტიზაციას მკითხველების გაღიზიანების გარეშე. არსებობს საიტის მონეტიზაციის მრავალი მეთოდი ... აქ ისინი ყველაზე მეტად მინიმუმამდე მომგებიანია:
- პირდაპირი სპონსორობა პარტნიორი კომპანიებისგან. ჩვენ ვმუშაობთ კოლექტიურ სტრატეგიებზე, რომლებიც მოიცავს ყველაფერს, ვებინარებიდან დაწყებული სოციალური მედიის აქციებით, მათი ღონისძიებების, პროდუქტების ან / და სერვისების პოპულარიზაციით.
- შვილობილი მარკეტინგი შვილობილი პლატფორმების მასივიდან. ვეძებ კომპანიებს, ვიცავ მათ რეპუტაციას და ვზიარებ ჩემს მიერ დაწერილ სტატიებს ან მათ მიერ მოწოდებულ რეკლამებს.
- რესურსების მარკეტინგი პარტნიორისგან, რომელიც ათავისუფლებს მარკეტინგთან დაკავშირებული ღონისძიებები, შემთხვევების შესწავლა და თეთრი ნაშრომები.
- ბანერის რეკლამა Google- იდან, სადაც შესაბამისი რეკლამები ავტომატურად იფანტება ჩემი შაბლონისა და შინაარსის საშუალებით.
WordPress გვერდითი ზოლები
შვილობილი მარკეტინგი, რომელიც ღირსეულ შემოსავალს იძლევა, გადავწყვიტე, რომ მსურდა ყურადღების გამახვილება სპეციფიკური რეკლამის განმთავსებლებისთვის, საიტის კატეგორიის მიხედვით, ამიტომ მინდოდა დინამიურად შემექმნა გვერდითი ზოლები, საიტის თითოეული გვერდითი ზოლის მყარი კოდის გარეშე. ამ გზით, თუ კატეგორიას დავამატებ - გვერდითი ზოლი ავტომატურად გამოჩნდება ჩემი ვიჯეტის არეში და შემიძლია დავამატო რეკლამა.
ამისათვის მე მჭირდებოდა კონკრეტული კოდი functions.php ჩემი ბავშვის თემის ფაილი. საბედნიეროდ, მივხვდი, რომ ვიღაცამ უკვე დაწერა თითქმის ყველაფერი, რაც მჭირდებოდა: შექმნათ Widgetized გვერდითი ზოლები თითოეული კატეგორიისთვის WordPress– ში. მე უბრალოდ მინდოდა რამდენიმე დამატებითი კონტროლი, თუ რომელ კატეგორიებში მოვინდომებ გვერდითი ზოლების ჩვენებას.
function add_category_sidebars() {
$args = array(
'type' => 'post',
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 1,
'hierarchical' => 1,
'exclude' => '',
'include' => '',
'number' => '',
'taxonomy' => 'category'
);
$categories = get_categories($args);
foreach ($categories as $category) {
if (0 == $category->parent)
register_sidebar( array(
'name' => $category->cat_name,
'id' => $category->category_nicename . '-sidebar',
'description' => 'This is the ' . $category->cat_name . ' widgetized area',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
));
}
}
add_action( 'widgets_init', 'add_category_sidebars' );
კატეგორიების მისაღებად არგუმენტაციის მასივის საშუალებით, შემიძლია გამოვრიცხო და გამოვრიცხო ის კატეგორიები, რომელთა მიზანიც მსურს. Foreach განცხადების ფარგლებში, შემიძლია შეცვალონ და შეუთავსონ განლაგება ჩემს WordPress საიტის გვერდითი ზოლის ფორმატს.
გარდა ამისა, ჩემს functions.php, მე მინდა დავამატო ფუნქცია, რომ ნახოთ თუ არა გვერდითი ზოლი და მას დაემატა ვიჯეტი:
function is_sidebar_active($cat_name) {
global $wp_registered_sidebars;
$cat_id = get_cat_ID($cat_name);
$widgetlist = wp_get_sidebars_widgets();
if ($widgetlist[$cat_id])
return true;
return false;
}
შემდეგ, ჩემი თემის ფარგლებში გვერდითი ზოლი შაბლონის ფაილი, მე ვუმატებ კოდს, რომ დინამიურად დავანახო ის ტერიტორია, თუ გვერდითი ზოლი რეგისტრირებულია და მასში აქვს ვიჯეტი.
$queried_object = get_queried_object();
if ($queried_object) {
$post_id = $queried_object->ID;
}
if(is_category() || in_category($cat_name, $post_id)) {
$sidebar_id = sanitize_title($cat_name);
if( is_sidebar_active($sidebar_id)) {
dynamic_sidebar($sidebar_id);
}
}
WordPress გვერდითი ზოლები თითოეული კატეგორიისთვის
შედეგი არის ზუსტად ის, რაც მინდოდა:
ახლა, მიუხედავად იმისა, დავამატებ, ვარედაქტირებ ან ვშლი კატეგორიებს ... ჩემი გვერდითი ზოლის ადგილები ყოველთვის განახლებული იქნება!