search-extras.php 3.68 KB
<?php



add_action( 'add_attachment', 'add_attachment_mime_type' );
function add_attachment_mime_type( $attachment_id ){
   $post =  get_post( $attachment_id );
   $post_mime_type = explode(".", $post->_wp_attached_file);
   update_post_meta( $attachment_id, 'file_type', end($post_mime_type) );

}

function exclude_in_search_results( $query ) {
        
	if ( $query->is_main_query() && $query->is_search() && ! is_admin() ) {
		
		$query->set( 'post_type', array(  'attachment',  'documents') );

		$query->set( 'meta_query', array (
			'relation' => 'OR',
			array (
				'relation' => 'AND',
				array(
					'key'     => 'exclude_from_search',
					'value'   => 1,
					'compare' => '!=',
				),
			),
		) );
		
		
	}
}
add_action( 'pre_get_posts', 'exclude_in_search_results' );

 // if(get_locale() == 'fr_FR') {
		// 	$query->set( 'meta_query', array (
		// 		'relation' => 'OR',
		// 		array (
		// 			'relation' => 'AND',
		// 			array(
		// 				'key'     => 'wpml',
		// 				'value'   => 'FR',
		// 				'compare' => '==',
		// 			),
		// 		),
		// 	) );

		// }else{
		// 	$query->set( 'meta_query', array (
		// 		'relation' => 'OR',
		// 		array (
		// 			'relation' => 'AND',
		// 			array(
		// 				'key'     => 'wpml',
		// 				'value'   => 'EN',
		// 				'compare' => '==',
		// 			),
		// 		),
		// 	) );
		// }


// apply tags to attachments 
function wptp_add_tags_to_attachments() {
	register_taxonomy_for_object_type( 'post_tag', 'attachment' );
}
add_action( 'init' , 'wptp_add_tags_to_attachments' );





add_action('init','set_exclude_from_search');
function set_exclude_from_search()
{ 
		if ($_GET['var'] =='set_wpml_from_search')  {
			global $post;
			$args = array( 'posts_per_page' => -1,  'post_type' => 'documents');

			$pages = get_posts( $args );
			error_log(print_r($pages,true));
			foreach ( $pages  as $page ){
				error_log($page->ID);
				update_post_meta($page->ID, 'wpml', "EN" );
			}
			$args = array( 'posts_per_page' => -1,  'post_type' => 'attachment');

			$pages = get_posts( $args );
			error_log(print_r($pages,true));
			foreach ( $pages  as $page ){
				error_log($page->ID);
				update_post_meta($page->ID, 'wpml', "EN" );
			}
		}
}

add_action('init','delete_exclude_from_search');
function delete_exclude_from_search()
{ 
		if ($_GET['var'] =='delete_wpml_from_search')  {
			$args = array( 'posts_per_page' => -1,  'post_type' => 'attachment');
			$pages = get_posts( $args );
			foreach ( $pages  as $page ){
				$exclude_from_search = get_post_meta($page->ID, 'exclude_from_search', true);
				if($exclude_from_search == '0'){
					wp_update_post(get_post( $page->ID) );
					//error_log($page->ID);
				}
			}
		}

}

add_action('init','update_tax_counts');
function update_tax_counts()
{ 
		if ($_GET['var'] =='update_tax_counts')  {

			include("wp-config.php");
 
			$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
			 
			if (!mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD)) {  die('Could not connect: ' . mysqli_error());  }
			if (!mysqli_select_db($conn,DB_NAME)) {  die('Could not connect: ' . mysqli_error());  }
			 
			$result = mysqli_query($conn, "SELECT term_taxonomy_id FROM ".$table_prefix."term_taxonomy");
			while ($row = mysqli_fetch_array($result)) {
			  $term_taxonomy_id = $row['term_taxonomy_id'];
			  echo "term_taxonomy_id: ".$term_taxonomy_id." count = ";
			  $countresult = mysqli_query($conn, "SELECT count(*) FROM ".$table_prefix."term_relationships WHERE term_taxonomy_id = '$term_taxonomy_id'");
			  $countarray = mysqli_fetch_array($countresult);
			  $count = $countarray[0];
			  echo $count."<br>";
			 mysqli_query($conn, "UPDATE ".$table_prefix."term_taxonomy SET count = '$count' WHERE term_taxonomy_id = '$term_taxonomy_id'");
					}
			 

			
		}
	}