a:6:{i:0;s:8417:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for php wordpress developer in thiruvananthapuram</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.inducthrsolutions.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.inducthrsolutions.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for php wordpress developer in thiruvananthapuram</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Php Wordpress Developer</div>
									<p class="mt7px fw6">Thiruvananthapuram</p>
									
				<br>
				<p class="aj mt7px">Brief description :<br />
<br />
We are looking to recruit experienced Frontend Developers who have good Knowledge and experience in Wordpress. The candidate must be eager to take up challenges and provide technical solutions for business problems.<br />
<br />
 <br />
<br />
Preferred skills<br />
<br />
Key Responsibilities <br />
<br />
Designing and implementing new features and functionality<br />
Establishing and guiding the websites architecture<br />
Ensuring high-performance and availability, and managing all technical aspects of the CMS<br />
Helping to formulate an effective, responsive design and turning it into a working theme and plugin<br />
<br />
 <br />
Minimum 2 year of hands-on experience in Web-Based Development.<br />
Expertise in WordPress customization, development and knowledge of plugins and API integration Should be well versed in WordPress.<br />
Must have the knowledge to create their own theme and able to do customization in the existing/premium theme.<br />
Must have experience of plugin customization and also aware of new plugin development.<br />
Must have the Knowledge of existing WordPress functions, hooks, plugins.<br />
WordPress integration directly from PSD/AI/Sketch would be considered as an added advantage.<br />
Must have knowledge of basic PHP and MYSQL concepts.<br />
Good knowledge in GIT. <br />
Effective time management and coordination skills<br />
Excellent communication skills and being able to work independently or in a full team</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  50 Thousand  To  7  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Wordpress</span>
												<span class="bdr dib p2px10px mr5px mt2px"> PHP</span>
												<span class="bdr dib p2px10px mr5px mt2px"> MYSQL</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Web Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Git</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Website designer</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Sruthi</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">MRA -64, Mukkolackal, Kulathoor</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8089000630 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:career@accubits.com"> career@accubits.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="810097">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="974255"><input type="hidden" name="subject" value="Applied for Php Wordpress Developer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-thiruvananthapuram.htm" title="Jobs in Thiruvananthapuram">Thiruvananthapuram</a> <b class="alpha50 bn small">(42)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(37)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'K2xQTi9BY09XVkRWWlQwTHJGajV4dz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:84:"Job openings for php wordpress developer in thiruvananthapuram | INDUCT HR Solutions";i:2;s:250:"Php Wordpress Developer Jobs,Php Wordpress Developer Jobs in Thiruvananthapuram,Php Wordpress Developer Vacancy in Thiruvananthapuram,Php Wordpress Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Thiruvananthapuram";i:3;s:359:"Apply for Php Wordpress Developer Jobs in Thiruvananthapuram India - Php Wordpress Developer Vacancy  in IT Software - Application Programming / Maintenance field with 2 to 5 years Work Experience, Key Skills are Wordpress, PHP, MYSQL, Web Developer, Git, Website designer, IT Software - Application Programming / Maintenance jobs in Thiruvananthapuram  India";i:4;s:2113:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Php Wordpress Developer",
		  "baseSalary": " 2  Lac  50 Thousand  To  7  Lac ",
		  "description": "Brief description :

We are looking to recruit experienced Frontend Developers who have good Knowledge and experience in Wordpress. The candidate must be eager to take up challenges and provide technical solutions for business problems.

 

Preferred skills

Key Responsibilities 

Designing and implementing new features and functionality
Establishing and guiding the websites architecture
Ensuring high-performance and availability, and managing all technical aspects of the CMS
Helping to formulate an effective, responsive design and turning it into a working theme and plugin

 
Minimum 2 year of hands-on experience in Web-Based Development.
Expertise in WordPress customization, development and knowledge of plugins and API integration Should be well versed in WordPress.
Must have the knowledge to create their own theme and able to do customization in the existing/premium theme.
Must have experience of plugin customization and also aware of new plugin development.
Must have the Knowledge of existing WordPress functions, hooks, plugins.
WordPress integration directly from PSD/AI/Sketch would be considered as an added advantage.
Must have knowledge of basic PHP and MYSQL concepts.
Good knowledge in GIT. 
Effective time management and coordination skills
Excellent communication skills and being able to work independently or in a full team",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "2 - 5 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Kerala",
		      "addressRegion": "Thiruvananthapuram"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Wordpress, PHP, MYSQL, Web Developer, Git, Website designer"
		  }
		</script>
		";i:5;N;}