function add_custom_class( $classes=array(), $menu_item=false ) {
if ( ! is_page() && 'Blog' == $menu_item->title && ! in_array( 'current-menu-item', $classes ) ) {
$classes[] = 'current-menu-item';
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'add_custom_class', 100, 2 );
$terms = get_terms("category_tow");
$count = count($terms);
if($count > 0){
echo "<select id='category-tow'>";
foreach ($terms as $term) {
echo "<option value='" . $term->term_id ." '>" . $term->name. "</option>";
}
echo "</select>";
}
$('#category-tow').change(function(){
var data={
action: 'sort_action',
security: Ajax.security,
cat : $(this).val()
}
$.post(Ajax.ajaxurl, data, function (response) {
тут разбираете response и пишете в нужные места
});
});
add_action( 'wp_ajax_sort_action', 'sort_action_callback' );
add_action( 'wp_ajax_nopriv_sort_action', 'sort_action_callback' );
function sort_action_callback() {
check_ajax_referer( 'my-special-string', 'security' );
$data_brend = $_POST['cat'];
$args = array(
'post_type' => 'products',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'category_tow',
'field' => 'id',
'terms' => array($data_brend)
),
array(
'taxonomy' => 'brend_tow'
)
),
);
my_query = new WP_Query($args);
/* тут ваш цикл */
// при этом для каждого поста получаете бренды и пишете их в отдельный массив
echo <div id="loop"> тут результат работы цикла</div>
echo <div id="select"> тут разобранный на опции селекта массив брендов </div>
die();
}
<snippet>
<content><![CDATA[
<!-- begin $1 -->
<div class="$1">
$2
</div>
<!-- end $1 -->
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>di</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>text.html</scope>
</snippet>
Как сделать «дочерний плагин» wordpress?
Нужно немного изменить всего 1 файл плагина, однако после его обновления эти изменения перезапишутся.
$checkThis = 66; // сюда id проверяемой записи. Как получить id записи - зависит от места, где вам нужно это всё проверять.
$checkContent = get_the_content($checkThis);
if($checkContent && $checkContent !== ""){
// Если контент есть - делаем магию
}
$debug_tags = array();
add_action( 'all', function ( $tag ) {
global $debug_tags;
if ( in_array( $tag, $debug_tags ) ) {
return;
}
echo "<!-- action: " . $tag . " -->";
$debug_tags[] = $tag;
} );