a:6:{i:0;s:8728:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for wordpress developer in chennai</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.bsrics.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.bsrics.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for wordpress developer in chennai</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="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Wordpress Developer</div>
									<p class="mt7px fw6">Chennai</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1003003"><input type="hidden" name="subject" value="Applied for Wordpress Developer">
					</form>
			
									</div></div>
				</div>
								
				<br>
				<p class="aj mt7px">WordPress Developers design, implement and maintain websites using WordPress, a free, open-source content management system (CMS). Most projects will include the need for both front-end and back-end development — everything from plug-ins to security updates. WordPress Developers establish and guide website architecture.<br />
<br />
Design, implement and maintain websites using WordPress<br />
Collaborate with members of creative and development teams<br />
Handle front-end and back-end website development<br />
Build WordPress themes and plug-ins<br />
Maintain well-documented, reusable, and transferrable code<br />
Investigate and resolve website problems for clients and co-workers<br />
Stay ahead of new developments in software, trends, and practices<br />
Skills and Proficiencies<br />
Advanced proficiency in using WordPress to build dynamic, highly-interactive websites<br />
Agency experience is a big plus<br />
Working knowledge of using Git for code versioning<br />
Solid understanding of front-end builders like WP-Bakery, Elementor or something similar<br />
Expertise in HTML5, CSS3, JavaScript, and jQuery. Experience in Javascript frameworks, like Angular, React and Vue is a plus.<br />
Basic understanding of PHP code patterns and structure<br />
Ability to create front end experiences that start with provided design files from tools like Adobe XD, Photoshop, Sketch and Figma.<br />
The conceptual ability to translate static page elements into animated page elements that enhance the user experience, using CSS and Javascript<br />
Experience using Browser based debugging tools like Chrome Inspector<br />
Solid grasp of front-end and back-end website development<br />
Keen attention to detail</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">6 - 12 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 6  Lac  To   25 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Client Server</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Wordpress Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Jquery</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Javascript</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Angular js</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Photoshop</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">Mr.S.Buvanesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Regus Business Centre, No.136, 3rd Floor, Shyamala Tower, Arcot Rd,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9176376488 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:admin@bsrisolutions.com"> admin@bsrisolutions.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="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1003003"><input type="hidden" name="subject" value="Applied for 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-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(2)</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">(12)</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">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</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-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</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: 'cWJ5MTZ0UDhuUHU0T01ZNWRjVWhQUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:72:"Job openings for wordpress developer in chennai | BSRI Solutions Pvt Ltd";i:2;s:177:"Wordpress Developer Jobs,Wordpress Developer Jobs in Chennai,Wordpress Developer Vacancy in Chennai,Wordpress Developer jobs in India,IT Software - Client Server jobs in Chennai";i:3;s:285:"Apply for Wordpress Developer Jobs in Chennai India - Wordpress Developer Vacancy  in IT Software - Client Server field with 6 to 12 years Work Experience, Key Skills are Wordpress Developer, Jquery, Javascript, Angular js, Photoshop, IT Software - Client Server jobs in Chennai  India";i:4;s:2830:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Wordpress Developer",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "1003003"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9176376488",
	      "email" : "admin@bsrisolutions.com"  
	       },
		  "url": "https://www.bsrics.com/job-openings-for-wordpress-developer-chennai-1003003.htm",
          "datePosted": "2021-06-10",
          
		  "baseSalary": " 6  Lac  To   25 Lac ",
		  "description": "WordPress Developers design, implement and maintain websites using WordPress, a free, open-source content management system (CMS). Most projects will include the need for both front-end and back-end development — everything from plug-ins to security updates. WordPress Developers establish and guide website architecture.

Design, implement and maintain websites using WordPress
Collaborate with members of creative and development teams
Handle front-end and back-end website development
Build WordPress themes and plug-ins
Maintain well-documented, reusable, and transferrable code
Investigate and resolve website problems for clients and co-workers
Stay ahead of new developments in software, trends, and practices
Skills and Proficiencies
Advanced proficiency in using WordPress to build dynamic, highly-interactive websites
Agency experience is a big plus
Working knowledge of using Git for code versioning
Solid understanding of front-end builders like WP-Bakery, Elementor or something similar
Expertise in HTML5, CSS3, JavaScript, and jQuery. Experience in Javascript frameworks, like Angular, React and Vue is a plus.
Basic understanding of PHP code patterns and structure
Ability to create front end experiences that start with provided design files from tools like Adobe XD, Photoshop, Sketch and Figma.
The conceptual ability to translate static page elements into animated page elements that enhance the user experience, using CSS and Javascript
Experience using Browser based debugging tools like Chrome Inspector
Solid grasp of front-end and back-end website development
Keen attention to detail",
		  "educationRequirements": "B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		  "experienceRequirements": "6 - 12 Years",
		  "industry": "IT Software - Client Server",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		     "skills": "Wordpress Developer, Jquery, Javascript, Angular js, Photoshop"
		  }
		</script>
		";i:5;N;}